你是指橡皮矩形吧?由于矩形有一个端点是不变的,因此只要不断记录前一个mousemove时cursor的坐标,再使用背景颜色的pen擦除原先矩形并用新坐标值绘制新矩形就可以了
解决方案 »
- 为什么属性名称和方法的名称不能相同呢?
- c# webbrowser的几个问题:自动点击确定安全证书、判断页面加载完成、提取网页字符串
- C#代码文本框KeyPress事件
- VS2005下,DataGridView为什么不能显示啊,求救!
- 高分请教:如何实现自定义控件的BorderStyle属性
- 想搞个系统,大家给个思路。
- 紧急求助,关于UDP接收数据的问题
- 在C#中有办法获得从程序运行开始所发生的所有事件序列吗?
- c#无法获取注册表"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"下面的子键
- 水晶报表 不会c#实现 问题多多!
- 请问使用vc如何读取excel文件?(急)
- 关于DATAGRID
pen也不止一个...
我想,
当鼠标在picturebox上面拉框时,用一个矩形画出来。
当鼠标不停地移动时,这个矩形也不停地变化
已经是第三次回这种问题了。
原理是call ControlPaint.DrawReversibleLine 可以画 line
在同一地方再call ControlPaint.DrawReversibleLine 可以把它擦掉而不影响原背景。
鼠标按下时,记下点0,
鼠标移动时记下点1 call ControlPaint.DrawReversableLine to draw frame(点0,点1)
鼠标再移动时记下点2
call ControlPaint.DrawReversableLine for (点0,点1)
call ControlPaint.DrawReversableLine for (点0,点2)原理就是这样了。参考
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsControlPaintClassDrawReversibleLineTopic.asp希望你能达Net!
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaskdr/html/askgui02172004.asp
Dr. GUI 的回答也是建议用ControlPaint因为它最简单。