如何点击选择GDI+绘制的对象

w173357855 2016-10-07 08:35:35
如果我用GDI+在panel绘制了一个圆,
请问有没有什么好的办法,让鼠标点击可以选中这个圆,我用来把这个圆的颜色改变提醒.
因为窗口会缩放,平移旋转变换,做区域记录不好做.
...全文
169 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-10-07
  • 打赏
  • 举报
回复
你的圆不是 Graphics.DrawEllipse 或 Graphics.DrawArc 画出的 而是 GraphicsPath.AddEllipse 或 GraphicsPath.AddArc 后用 Graphics.DrawPath 画出的 这样就可以将每个 GraphicsPath 保存在序列中 点击鼠标时,遍历 GraphicsPath 序列,就可知道 鼠标点 在那个 GraphicsPath 中
w173357855 2016-10-07
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
GDI+ 不是有 GraphicsPath 吗? 他的 IsVisible 方法不就是为你的需求而设计呢吗
我的意思是,我绘制了很多个圆, 用鼠标点击,如何选择其中一个
xuzuning 2016-10-07
  • 打赏
  • 举报
回复
GDI+ 不是有 GraphicsPath 吗? 他的 IsVisible 方法不就是为你的需求而设计呢吗
  • 打赏
  • 举报
回复
一个人花了大量时间在“0”里边打转转,也就是在最初级的“静态画点、线、面”里边打转转,一旦你突然意识到要到“1”,这时候应该发现过去学的东西离高效率开发目标实在是太远了。
  • 打赏
  • 举报
回复
一旦你需要拾取一些图形,你就需要自定义自己的“园”控件了。你此时就不是简单地胡乱在画布上画“点线面”了,而是要封装控件、封装控件的(越来越复杂的)行为。 随便画点静态的“点线面”相当于0,而你现在封装自定义控件的行为相当于1。实际上从1到2到......只是量变,而从0到1是质变,是最不容易理解的。 实际上你应该选择哪种有着大量“控件”的.net 开发工具平台(利于基于 xaml 的任何平台),才能快速开发上图系统。你自己基于最初级的 GDI+ 来自己发明一套控件系统,我认为给你10年也未必可行。

110,536

社区成员

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

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

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