得到行号
private int GetCurrentLine() 
{
char[] text = textArea.Text.ToCharArray();
int cur = textArea.SelectionStart;
int line = 1;
for (int i=0; i<cur; i++) 
{
if (text[i] == '\n') 
{
cur++;
line++;
}
}
return line;
}

解决方案 »

  1.   

    private int GetCurrentLine() 
    {
    char[] text = textArea.Text.ToCharArray();
    int cur = textArea.SelectionStart;
    int line = 1;
    for (int i=0; i<cur; i++) 
    {
    if (text[i] == '\n') 
    {
    cur++;
    line++;
    }
    }
    return line;
    }
      

  2.   

    private void richTextBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    Point point = new Point();
    point.X = e.X;
    point.Y = e.Y;
    int index = this.richTextBox1.GetCharIndexFromPosition(point);
    int  line= this.richTextBox1.GetLineFromCharIndex(index);
    int indexOfline = 0;
    for ( int count = 0; count < line; count ++ )
    {
    indexOfline += this.richTextBox1.Lines[count].Length ; 
    }
    index = index - indexOfline;
    MessageBox.Show(line.ToString() + "\n" + index.ToString());
    }
      

  3.   

    得到列号
    private int GetCurrentCol() 
    {
    char[] text = textArea.Text.ToCharArray();
    int cur = textArea.SelectionStart;
    int col=0;
    for (int i=0; i<cur; i++) 
    {
    if (text[i] == '\n') 
    {
    col=0;
    }
    col++;
    }
    return col;
    }