我有一个带有RichTextBox的WinForm。我试图在给定的行和列写入RichTextBox:下面是代码:公共窗体1(){
InitializeComponent();
richTextBox1 = new RichTextBoxWithMouseSelectionFixed();
richTextBox1.Location = new System.Drawing.Point(62, 46);
richTextBox1.Name = "richTextBox1";
richTextBox1.Size = new System.Drawing.Size(461, 391);
richTextBox1.TabIndex = 0;
richTextBox1.Text = "";
richTextBox1.HideSelection = false;
Controls.Add(richTextBox1);
int line = 3;
int column = 5;
GoToLineAndColumn(richTextBox1, line, column);
}
private RichTextBoxWithMouseSelectionFixed richTextBox1;
private void GoToLineAndColumn(RichTextBox richTextBox1, int line, int column)
{
int offset = 0;
for (int i = 0; i < line - 1 && i < richTextBox1.Lines.Length; i++)
{
offset += richTextBox1.Lines[i].Length + 1;
}
richTextBox1.Focus();
richTextBox1.Select(offset + column, 0);
}
我试着写:
添加文本("当前单词");
以及:
富文本框1.文本="当前单词";
但是在两种情况下,currentWord都被写入第一行的第0列。
3条答案
按热度按时间6ie5vjzr1#
xhv8bpkk2#
RichTextBox类具有可用于将文本写入其中特定索引的属性。首先,定义要写入的行和列的从零开始的索引,然后获取该行中第一个字符的索引,如下所示
11dmarpk3#
我找到的唯一解决办法是在文本前添加空行和空白字符: