首页 > 代码库 > 最近背单词蛋疼,想写个桌面note的小程序方便一下,嘛嘛,那就记录一下好了,毫无优化,自娱自乐。
最近背单词蛋疼,想写个桌面note的小程序方便一下,嘛嘛,那就记录一下好了,毫无优化,自娱自乐。
首先用的还是winform,因为WPF那一套忘得有点多。
第一个问题出在窗口位置挪动上,因为想用None风格的窗体,但是在onMouseMove事件中取MousePosition-e.X之后发现这个值是一定的,就是本来打算用鼠标坐标减去鼠标相对窗体坐标得到窗体相对屏幕坐标,但是在计算的时候如果把e.X取在onMouseMove事件中,那么这个e.X也是会随着鼠标移动而变化的,最终导致差不变,那就不能实现窗体移动了。
蛋疼了,最后在form类中设了两个私有变量Left,Top,在onMouseDown中取下点击时的坐标,在onMouseMove中用,这样解决了。
private void AddVocabulary_MouseDown(object sender, MouseEventArgs e) { Left = e.X; Top = e.Y; } private void AddVocabulary_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point Pos = new Point(MousePosition.X - Left, MousePosition.Y - Top); Point Pos2 = new Point(Left, Top); label1.Text = Pos.ToString() + Pos2.ToString() + MousePosition.ToString() + this.Location.ToString(); this.Location = Pos; } }
看看以后能不能想点更好的办法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。