在c#中访问文本框选定的值

时间:2010-10-18 10:12:01

标签: c#

我在c#window-base应用程序中有多行文本框。如果用户单击文本框,我想获取所选行的值。请指导我,以便我能够做到。

抱歉我的英语不好。

4 个答案:

答案 0 :(得分:4)

您可以尝试以下方式:

// Get selected character.
int charIndex = textbox.SelectionStart;

// Get line index from selected character.
int lineIndex = textbox.GetLineFromCharIndex(charIndex);

// Get line.
string line = textbox.Lines[lineIndex];

答案 1 :(得分:2)

我希望你的意思是列表框?

listBox.SelectedItem gives a ListItem然后您可以从那里获取文本或值

答案 2 :(得分:1)

如果是启用了多行的文本框,则可以使用Lines属性。

答案 3 :(得分:1)

非常简短:

int sel = this.textBox1.SelectionStart;
string text = this.textBox1.Text;
int selstart = 0;
int selend = 0;
int i = 0;
for (i = sel; i > 0; i--)
    if (text[i] == '\n')
        break;
selstart = i;
for (i = sel; i < text.Length; i++)
    if (text[i] == '\n')
        break;
selend = i;
string line = text.Substring(selstart, selend - selstart);

'line'是您指向的行。

编辑:Fara发布了更好的解决方案。