求大神指导: c#怎么用鼠标选中picturebox里面的点线

老舍长 2016-05-16 06:46:19
c#怎么用鼠标选中picturebox里面的点线(这些点线是我画的,画线用的是下面的代码)
(我是在windows窗体中编写的程序),例如:点了一个选择按钮,这个时候就可以选中picturebox里面的点线。
Graphics g = Graphics.FromImage((Image)bmp);
g.DrawLine(new Pen(Color.Red, 1), Pt[i], Pt[i + 1]);
...全文
605 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
老舍长 2016-05-16
  • 打赏
  • 举报
回复
[quote=引用 1 楼 sp1234 的回复:] 我是学生,老师让试着用c#做一个简易的cad画图系统
老舍长 2016-05-16
  • 打赏
  • 举报
回复
[quote=引用 3 楼 xuzuning 的回复:] 能问一下你,这里面的g是如何定义的?(我用底下两种方法都不行) Graphics g = Graphics.FromImage((Image)bmp); Graphics g = CreateGraphics();
老舍长 2016-05-16
  • 打赏
  • 举报
回复
[quote=引用 3 楼 xuzuning 的回复:]谢谢啦
  • 打赏
  • 举报
回复
开发设计一个软件,必定是一看设计蓝图、时间表,就知道一个人有没有那点可能性去做出来。 软件不是拼凑出来的,而是重构出来的。你在重构时,一直不离目标,这样用几个月时间就能重写软件中的主要部分。 而现在,你的整个观念都很底层,你用5年才知道开发一个上图软件的模块化目标蓝图是什么。这5年中,一直在浑浑噩噩地纠结底层这一点点“技术”。亏不亏啊?
  • 打赏
  • 举报
回复
一看你的代码,就知道你还没有一星半点的图形控件/组件架构概念。这样的话,最少5年,可能要10年以上,你用这种方法也不可能开发一个上图系统。 真正的软件开发,都是用时间进度来衡量其可行性的,而不是纠结什么技术的。假设你一个人在学习了使用一个开发平台设计开发2-d图形系统之后用3个月做一个上图软件,而纠结底层的东西5年也做不出来,你就不要在听什么谗言了。任何软件最终都要被淘汰,关键是那些能够3个月做出来一个产品的人才有发言权。他可以在6个月之后重新用什么c、汇编之类的东西去另外写一套,但是前提他必须先用3、4个月时间发布一套产品级的东西出来。 如果一直纠结非常底层的那点“画线、画点”的代码,谁能“指导”?猴年马月才能按照一个高层次的模块化的概念来设计你的系统呢?
xuzuning 2016-05-16
  • 打赏
  • 举报
回复
如果你用 g.DrawLine(new Pen(Color.Red, 1), Pt[i], Pt[i + 1]); 画线 那么你就不可能再分离出这条线了 如果你用 var path= new GraphicsPath(); path.AddLine(Pt[i], Pt[i + 1]); g.DrawLine(new Pen(Color.Red, 1), path); 画线,那么可用 GraphicsPath.IsOutlineVisible() GraphicsPath.IsVisible() 来判定是否选中了该线 从底层做起虽然麻烦,但也并没什么不好 一旦落入某个框架的陷阱,想出来才真是不容易了
  • 打赏
  • 举报
回复
使用 wpf 这样的图元编程平台。要在这么底层地方让人告诉你如何设计控件/组件,难道你要自己设计一套 wpf 框架?
  • 打赏
  • 举报
回复
你创建一些折线、点的对象,那么 wpf 就自动显示了。然后你可以给各个点动态(用一行代码)注册点击或者拖动事件,在事件中只要写一行代码,就能实现用户随便拖动折线进行编辑了。 这么简单得一分钟都不用的编程,放到一些人那里经过半年以后还在问。这就是因为你选择的 .net 编程开发平台太低级了。

111,129

社区成员

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

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

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