你如何绘制一个控件?

时间:2013-07-18 07:59:49

标签: c# .net winforms drawing gdi+

你如何绘制一个控件?

我不是在谈论UserControl / Custom Control(或者我?),但我在谈论使用GDI绘制我自己的自定义形状,并为其提供属性和事件,如myNotSoStraightThickLine.Clicked或{ {1}}等等。

你如何使用GDI +绘制的东西可点击,可选择,可移动,包含其他控件继承的事件和属性,以及在需要时使其成为Disposable?

1 个答案:

答案 0 :(得分:2)

您必须绘制所需的每件事物,并捕获鼠标移动事件和鼠标单击事件以确定您是否已单击每个元素的一部分。如果你正在处理对角线和椭圆,这将变得棘手,你可能必须为每个元素在创建时的可能位置确定可能的x + y坐标的完整列表(基于每个像素)并比较鼠标移动的那些/点击活动。

至于记录颜色,你可以在你的移动/点击事件的位置获得PictureBox内容的属性,或者也许对于一些具有你所控制属性的镜像的对象会更好绘图,这样你就可以实际创建你的对象然后用它们的属性绘制它们,这可能更简单。