yhs1296997148
carefulThinker
采纳率0%
2017-05-15 00:17 阅读 1.4k

c# 的winform界面中的RichTextBox控件相关

50

我现在利用了c#winform里面的RichTextBox控件了,我现在想要获取光标(注意:不是鼠标)在RichTextBox中的相对于整个屏幕的坐标,并且在对应位置处放置一个新的窗体,请问大神们这个该怎么实现,在线等,急!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • fight_in_dl 战在春秋 2017-05-15 01:05

    获取光标相对屏幕坐标代码如下:

     int X = Cursor.Position.X;
     int Y = Cursor.Position.Y;
    

    在某个位置放置一个新的窗体

    可以创建新的Form类对象,假设名为form2。
    在form2的load事件中加入:

     private void Form2_Load(object sender, EventArgs e)
    {
      this.Location = new Point(100, 100); //此外100,100可以换成取得的光标位置
    }
    

    然后在第一个窗体的某个事件中加入:

    Form2 frm = new Form2();
    frm.Show();

    题目的两个核心问题解决方案如上,你可以根据自己的情况将代码串起来。

    点赞 评论 复制链接分享
  • lj1995091 Yentre 2017-05-17 01:06

    有一个API是可以获得光标的位置的 声明是这样的
    [DllImport("user32")]
    public static extern bool GetCaretPos(out Point lpPoint);

    使用方法为
    Point p;
    GetCaretPos(out p);

    这个获得的p就是光标的坐标,只不过这个坐标是相对于richtextbox的坐标,转换成屏幕坐标需要用
    p=this.richTextBox1.PointToScreen(p);

    这样p就变成了相对于屏幕的坐标了

    点赞 评论 复制链接分享

相关推荐