c#鼠标绘制多边形

s_xgqc 2013-01-09 03:42:02
在winform中用鼠标绘制多边形,调用了已经写好的绘制多边形的函数,但现在我要在绘制过程中按ESC键取消,有取消正在绘制的多边形的函数,
if (e.KeyCode == Keys.Escape)
{
该函数();
}
这样写为什么没有效果?应该怎么改
...全文
387 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
s_xgqc 2013-01-10
  • 打赏
  • 举报
回复
s_xgqc 2013-01-09
  • 打赏
  • 举报
回复
引用 6 楼 ifcontinue 的回复:
不知道你所指的没效果指的是什么,有两种情况,一是没调用你的函数,另一个是调用了却没有得到你想要的结果。 如果是调用了“取消函数”却没有得到结果,可能是你没有刷新界面,否则就要看“取消函数”本身的逻辑了。
调用了已经写好的函数,就是按照上面几位说的方法,在画多边形的过程中按ESC也没任何效果,并且断点调试时,那个函数根本就没执行
ifcontinue 2013-01-09
  • 打赏
  • 举报
回复
不知道你所指的没效果指的是什么,有两种情况,一是没调用你的函数,另一个是调用了却没有得到你想要的结果。 如果是调用了“取消函数”却没有得到结果,可能是你没有刷新界面,否则就要看“取消函数”本身的逻辑了。
s_xgqc 2013-01-09
  • 打赏
  • 举报
回复
顶上去,让大神都看见
s_xgqc 2013-01-09
  • 打赏
  • 举报
回复
好像不太行呀,我再说得详细一点 在mousedown事件里绘制,左键是绘制,调用相应函数,右键是完成,也有函数 然后在keydown事件里调用取消绘制的函数 if (e.KeyCode == Keys.Escape) { 取消正在进行的多边形函数(); } 这样在画多边形的期间按ESC没有任何效果,断点调试了,那个keydown事件根本没有执行
雪石 2013-01-09
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
比如mousedown事件中有一个标记 isdown = true,绘图中判断这个isdiwn,如果为true就绘制,按esc时 isdown=false,这样就不会画了
if (e.KeyCode == Keys.Escape) { isdown=false } 改成mouseMove中判断 isdown=false 就停止画了
memory_qian 2013-01-09
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
比如mousedown事件中有一个标记 isdown = true,绘图中判断这个isdiwn,如果为true就绘制,按esc时 isdown=false,这样就不会画了
++
bdmh 2013-01-09
  • 打赏
  • 举报
回复
比如mousedown事件中有一个标记 isdown = true,绘图中判断这个isdiwn,如果为true就绘制,按esc时 isdown=false,这样就不会画了

110,539

社区成员

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

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

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