当前位置: 首页 > 编程语言 > C#

从父级在PictureBox上画一条线Share

时间:2023-04-10 16:03:25 C#

DrawaLineonPictureBoxfromParent我有一个PictureBox作为UserControl。我在主窗体上添加了这个用户控件。现在我必须按下一个按钮并在用户控件上创建一行。在我的项目中,每次按下此按钮时,我都会向用户发送PointF的两个控制参数(x和y),并在现有的基础上绘制一条新线。到目前为止,我在加载图片框时有Paint事件。privatevoidpictureBox1_Paint(objectsender,PaintEventArgse){PengraphPen=newPen(Color.Red,2);PointFpt1D=newPointF();PointFpt2D=newPointF();pt1D.X=0;pt1D.Y=10;pt2D.X=10;pt2D.Y=10;e.Graphics.DrawLine(graphPen,pt1D,pt2D);假设您想在单击按钮时画一条线,这里是您的代码的修改版本:Listpoints=newList();PengraphPen=newPen(Color.Red,2);privatevoidbtnDrawLines_Click(objectsender,EventArgse){Graphicsg=picBox.CreateGraphics();PointFpt1D=newPointF();PointFpt2D=newPointF();pt1D.X=0;pt1D.Y=10;pt2D.X=10;pt2D.Y=10;g.DrawLine(graphPen,pt1D,pt2D);points.Add(pt1D);points.Add(pt2D);}privatevoidpicBox_Paint(objectsender,PaintEventArgse){for(inti=0;i请注意,您可以通过PictureBox类的CreateGraphics()方法获取Graphics对象,这与Paint事件处理程序相同e.Graphics对象是一样的。如果你想添加要绘制的线,你可能需要一个小的线类:publicclassLine{publicPointPoint1{get;放;}公共点Point2{得到;放;}publicLine(Pointpoint1,Pointpoint2){this.Point1=point1;this.Point2=point2;然后,您可以将这些“行”添加到列表中:privateList_Lines=newList();并添加到它们并告诉控件更新它的绘图:_Lines.Add(newLine(newPoint(10,10),newPoint(42,42)));_线条。添加(新线(新点(20,40),新点(20,60)));图片框1。Invalidate()Theninyourdrawing:以上是C#学习教程:在PictureBox上从parent上画一条线,共享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注—foreach(Linelin_Lines){e.Graphics.DrawLine(Pens.Red,l.Point1,l.Point2);}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: