谢谢

解决方案 »

  1.   

    RichTextBox的某个事件啊,用e.x,e.y得到啊
      

  2.   

    private void richTextBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
       int x = e.X;
    int y = e.Y;
    }
      

  3.   

    LZ要得不是鼠标光标的位置..要是是插入字符光标的位置....UP
      

  4.   

    试试 TextBoxBase.SelectionStart 属性
      

  5.   

    贴段代码吧:public Win32.POINT GetCurPos()
    {
    Win32.POINT P = new Win32.POINT();
    Win32.User32.GetCaretPos(ref P);
    return P;
    }
    [DllImport("User32.dll", CharSet=CharSet.Auto)]
    public static extern bool GetCaretPos(ref POINT lpPoint);
      

  6.   

    [StructLayout(LayoutKind.Sequential)]
        public struct POINT
        {
            public int x;
            public int y;
        }
      

  7.   

    楼上的那些代码要用到什么using
      

  8.   

    using System.Runtime.InteropServices;
      

  9.   

    Control中也有表示当前鼠标位置的属性
      

  10.   

    richTextBox1.PointToClient(Control.MousePosition);
      

  11.   

    得到行号int row=richTextBox.GetLineFromCharIndex(richTextBox.SelectionStart);
    列号:line为当前行
    private int getCurrentCol(int line)
    {
        MatchCollection mc;
        Regex rg=new Regex(@"\n");
        mc = rg.Matches(richTextBox.Text);
        if(line>0)
            return richTextBox.SelectionStart-mc[line-1].Index;
        else
    return richTextBox.SelectionStart-line;
    }using System.Text.RegularExpressions;
      

  12.   

    回复:RoseCat(Love)
    那个win32是什么来的,要用到什么using
      

  13.   

    回复: warrior740(回家过年)
    在"Regex rg=new Regex(@"\n");"中,那个@"\n"有什么用呢?
      

  14.   

    字符串前面加@后就会把整个字符串当作字符串本身进行处理,所有字符都不再当作一个转义序列解释
    例如:
     str="\\"表示str存入"\",如果前面加个@,代码就可以写成这样:str=@"\";两者是等效的