Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
你如何绘制控件?
我不是在谈论用户控件/自定义控件(或者我是吗?),但我在谈论使用 GDI 绘制我自己的自定义形状,并为其赋予属性和事件,如myNotSoStraightThickLine.Clicked、 或myNotSoStraightThickLine.Color等。
myNotSoStraightThickLine.Clicked
myNotSoStraightThickLine.Color
如何使您使用 GDI+ 绘制的东西可单击、可选择、可移动,以及其他控件继承的事件和属性,以及在需要时使其成为可处置的?
你必须画出你想要的每一个东西,并捕捉鼠标移动事件和鼠标点击事件,以确定你是否点击了每个元素的一部分。如果您正在处理对角线和椭圆,这将变得棘手,您可能必须为每个元素在创建时可能的位置确定可能的 x + y 坐标的完整列表(基于每个像素)并比较鼠标移动时的位置/点击事件。
至于记录颜色,您可以在移动/单击事件的位置获取 PictureBox 内容的属性,或者最好将某些对象与您正在绘制的控件属性的镜像相同,即这样您就可以实际创建对象,然后获取它们的属性来绘制它们,这可能更简单。