查找文本框光标位置,行号。和列号。在asp.net中

时间:2012-01-17 06:56:47

标签: c# asp.net

我是Web应用程序开发的初学者。我有一个Windows应用程序的代码。我必须转换为Web应用程序的相同功能。我有一个文本框控件。我正在加载一些文本到该文本框。我想找到当前光标位置,行号和列号。 Windows应用程序的代码如下:

    private void Form1_Load(object sender, EventArgs e)
    {
        textBox1.Text = @"This is a demo for text box control
                      I am trying to find the cursor position ,
                      line no and column no 
                       of the cursor.";         


    }

    private void textBox1_Click(object sender, EventArgs e)
    {
       textBox1.SelectionStart++;
       label2.Text = textBox1.SelectionStart.ToString();
       int i = textBox1.GetLineFromCharIndex(textBox1.SelectionStart);
       label3.Text = i.ToString();
       int j =textBox1.SelectionStart - textBox1. GetFirstCharIndexFromLine(i);
       label4.Text = j.ToString();
    }

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.KeyCode == Keys.Up) || (e.KeyCode == Keys.Right) || 
            (e.KeyCode == Keys.Left) || (e.KeyCode == Keys.Down))
        {
            textBox1.SelectionStart++;
            label2.Text = textBox1.SelectionStart.ToString();
            int i = textBox1.GetLineFromCharIndex(textBox1.SelectionStart);
            label3.Text = i.ToString();
            int j = textBox1.SelectionStart - 
                    textBox1.GetFirstCharIndexFromLine(i);
            label4.Text = j.ToString();
        }
    }

1 个答案:

答案 0 :(得分:2)

作为此post中的已接受答案,您必须使用javascript来获取clinet方面的SelectionStart和SelectionEnd。然后,通过重置数据将结果(可能使用隐藏的输入值)发布到服务器:

How to get selected text from textbox control with javascript

相关问题