C# 从文本框C获取行的索引#
这是一种以编程方式获取WPF中C# 从文本框C获取行的索引#,c#,wpf,textbox,C#,Wpf,Textbox,这是一种以编程方式获取WPF中TextBox元素中特定行开头的插入符号索引的方法吗 例如,要选择第20行: my_textbox.GetLineIndex(20); 我希望获得此信息,以便将其用作my\u文本框。选择Start值 有my_textbox.ScrollToLine(20),但这没有给我我不认为的索引?我认为没有内置的方法,但你可以尝试这样的扩展方法 public static int GetLineIndex(this TextBox textbox, int line) {
TextBox
元素中特定行开头的插入符号索引的方法吗
例如,要选择第20行:
my_textbox.GetLineIndex(20);
我希望获得此信息,以便将其用作my\u文本框。选择Start
值
有
my_textbox.ScrollToLine(20)
,但这没有给我我不认为的索引?我认为没有内置的方法,但你可以尝试这样的扩展方法
public static int GetLineIndex(this TextBox textbox, int line)
{
var text = textbox.Text;
var thisLine = 0;
for (var i = 0; i < text.Length; i++)
{
if (thisLine == line)
return i;
if (text[i] == '\n')
++thisLine;
}
throw new ArgumentOutOfRangeException();
}
public static int GetLineIndex(此文本框,int行)
{
var text=textbox.text;
var thisLine=0;
for(var i=0;i
您可以使用按钮单击多行文本框
string findText = "sample";
int charIndex = txtSource.Text.IndexOf(findText);
MessageBox.Show(txtSource.GetLineFromCharIndex(charIndex).ToString());
or
MessageBox.Show(txtSource.GetLineFromCharIndex(txtSource.Text.IndexOf("sample")).ToString());
只需使用“GetCharacterIndexFromLineIndex”函数,即可在特定行的开头获取插入符号索引 有关此功能的更多信息,请访问: 这将根据需要在行的开头返回插入符号索引
int startIndex = my_textbox.GetCharacterIndexFromLineIndex(lineNumber);
如果一行从文本框的末尾滚动到下一行怎么办?你想把它算作第二行还是只把CR+LF对算作换行符?@Belogix我想把CR+LF对算作换行符。谢谢:)太好了,谢谢你!我忘了字符串只是一个字符数组!请考虑对代码如何解决OP问题添加解释。