如何获取坐标值

wl04071167 2011-11-23 05:15:34
我想通过鼠标移动获取当前的坐标值,并显示在文本框中,但是我写的程序不能实现,请各位帮帮小弟,谢谢了。
public Point StartPt, EndPt;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
StartPt.X = e.X;
StartPt.Y = e.Y;
this.textBox1.Text = Convert.ToString(StartPt.X);
this.textBox2.Text = Convert.ToString(StartPt.Y);

}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
EndPt.X = e.X;
EndPt.Y = e.Y;
this.textBox1.Text =Convert.ToString( EndPt.X);
this.textBox2.Text =Convert.ToString( EndPt.Y);
}
...全文
102 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
leichentao094 2012-02-24
  • 打赏
  • 举报
回复
谁有C#压缩文件系统啊?
youzelin 2011-11-23
  • 打赏
  • 举报
回复
经过测试,无论是谁获得焦点,鼠标必须在能看得到 Form 体的地方移动,如果某个地方被控件盖住了,就无法触发 MouseMove 事件了,我估计楼主问题可能出在这里。
wl04071167 2011-11-23
  • 打赏
  • 举报
回复
谢谢各位了,解决了。
wanceming 2011-11-23
  • 打赏
  • 举报
回复

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
textBox1.Text ="("+e.X.ToString()+","+e.Y.ToString()+")";
}
MKing0412 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wl04071167 的回复:]
当前焦点在Form上是什么意思啊,大侠能说的清楚点不,谢谢了。
[/Quote]

吧你的代码卸载mousemove里可以实现

form是底层 上面有空间

所以你Form1_MouseMove 和textbox1_mousemove,textbox2_mousemove中都写上你的代码


private void inTiemchange()
{
textBox1.Text = "X=" + MousePosition.X;
textBox2.Text = "Y=" + MousePosition.Y;
}

写个方法让这些事件调用


8L回答了。
chenep 2011-11-23
  • 打赏
  • 举报
回复
试过了,不用那么麻烦,,
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
textBox1.Text = "X="+MousePosition.X ;
textBox1.Text = "Y="+MousePosition.Y ;
}
wl04071167 2011-11-23
  • 打赏
  • 举报
回复
当前焦点在Form上是什么意思啊,大侠能说的清楚点不,谢谢了。
youzelin 2011-11-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 netteans 的回复:]

首要条件,当前焦点在FORM上
[/Quote]

Yes
wl04071167 2011-11-23
  • 打赏
  • 举报
回复
我试过了,还是读不出来的,效果是这样的,文本框中没有坐标值。
wl04071167 2011-11-23
  • 打赏
  • 举报
回复
this.textBox1.Refresh()这句话表示什么意思啊。
  • 打赏
  • 举报
回复
首要条件,当前焦点在FORM上
freedom_wyz 2011-11-23
  • 打赏
  • 举报
回复
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
EndPt.X = e.X;
EndPt.Y = e.Y;
this.textBox1.Text =Convert.ToString( EndPt.X);
this.textBox2.Text =Convert.ToString( EndPt.Y);
this.textBox1.Refresh();
this.textBox2.Refresh();
}

freedom_wyz 2011-11-23
  • 打赏
  • 举报
回复

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
EndPt.X = e.X;
EndPt.Y = e.Y;
this.textBox1.Text =Convert.ToString( EndPt.X);
this.textBox2.Text =Convert.ToString( EndPt.Y);
this.textBox1.Refresh();
this.textBox2.Refresh();

}

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧