如何在 windows 表格 c# 中画一条线?
How to draw a line in windows forms c#?
我有一个 C# windows 表单应用程序。我需要画一条直线(从一点到另一点),我可以选择删除它同时保留所有其他线(之前绘制的)。当我点击它时,这条线被删除了。我看到了清除所有内容的不同方法,而不仅仅是之前绘制的一条线。
您可以使用 Graphics.DrawLine 创建行(System.Drawing 命名空间)
DrawLine(Pen, xCord1, yCord1, xCord2, yCord2) 其中 Pen 给出线条的颜色和宽度 Pen (System.Drawing.Brush brush, float width);
现在,没有检测在线点击的内置方法 - 它只是屏幕上的像素。因此,您必须执行一些自定义代码并将这些行(如果您要创建多行)存储在 array/list 中。
要检测使用此方法绘制的线上的点击,您需要通过一些计算来检测点击的点是否落在线上,例如
如果单击的点落在该行上,则从数组中删除该行 - 您最终将在数组中得到未单击的行。
最后,执行 Graphics.Clear 或 this.Invalidate() 并重新绘制数组中剩余的线。
我有一个 C# windows 表单应用程序。我需要画一条直线(从一点到另一点),我可以选择删除它同时保留所有其他线(之前绘制的)。当我点击它时,这条线被删除了。我看到了清除所有内容的不同方法,而不仅仅是之前绘制的一条线。
您可以使用 Graphics.DrawLine 创建行(System.Drawing 命名空间)
DrawLine(Pen, xCord1, yCord1, xCord2, yCord2) 其中 Pen 给出线条的颜色和宽度 Pen (System.Drawing.Brush brush, float width);
现在,没有检测在线点击的内置方法 - 它只是屏幕上的像素。因此,您必须执行一些自定义代码并将这些行(如果您要创建多行)存储在 array/list 中。
要检测使用此方法绘制的线上的点击,您需要通过一些计算来检测点击的点是否落在线上,例如
如果单击的点落在该行上,则从数组中删除该行 - 您最终将在数组中得到未单击的行。 最后,执行 Graphics.Clear 或 this.Invalidate() 并重新绘制数组中剩余的线。