【问题标题】:Get cursor position in c# [duplicate]在c#中获取光标位置[重复]
【发布时间】:2015-12-08 08:02:14
【问题描述】:

我有一个这样的应用程序:

当用户单击主窗体上的按钮时会出现黄色窗体,我希望黄色窗体出现在光标指向的位置。 (图中是 26 号按钮)。但它只是出现在其他地方(就像图片一样)

这是我在主窗体上的按钮的 onClick 事件:

ChooseAnswer Answer = new ChooseAnswer();
Answer.Location = new Point(Cursor.Position.X, Cursor.Position.Y);
Answer.ShowDialog();

这是怎么回事?

对不起我的英语!

好的解决方法是:

ChooseAnswer Answer = new ChooseAnswer();
Answer.StartPosition = FormStartPosition.Manual;
Answer.Location = new Point(Cursor.Position.X, Cursor.Position.Y);
Answer.ShowDialog();

【问题讨论】:

  • 这段代码在哪里,在这些按钮的点击处理程序中?或者您希望此表单随鼠标移动,例如工具提示?
  • 没有。只是在我单击带有数字的按钮时出现(在主窗体中)
  • @Wimmel: Cursor.Position 返回屏幕坐标。但是问题是ShowDialog使用Form.StartPosition来确定它的初始位置,并且必须设置为Manual,就像described in this answer一样。
  • 我找到了解决办法!但还是谢谢你! :)
  • Tuan,请分享您更改为修复的内容,以便帮助其他正在寻找相同答案的人。谢谢,

标签: c#


【解决方案1】:

试试这个;

ChooseAnswer Answer = new ChooseAnswer();
Answer.Top = Cursor.Position.Y;
Answer.Left = Cursor.Position.X;
Answer.ShowDialog();

【讨论】:

  • 请对-1发表评论
  • 仍然出现在一些奇怪的地方! :(
  • @Irshad: TopLeft 只是简单地更改 Form.Location 属性,最终结果将与 OP 现在的结果相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 2017-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多