我一直试图在两个物体之间画一条线很长一段时间,但它仍然无法工作。
我的程序应该制作两个图片框(已经制作,称为PB1和PB2)并将它们与表格上的一行连接。
我有这个:
public void DrawStuff(object sender, PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black, 3);
Point point1 = new Point(PB[0].Location.X, PB[0].Location.Y);
Point point2 = new Point(PB[1].Location.X, PB[1].Location.Y);
e.Graphics.DrawLine(blackPen, point1, point2);
CreateGraphics();
}
但是我无法调用该函数!另外,盒子是用按钮创建的,所以它不能从头开始绘制,按下按钮后就必须这样做。如果有人有工作代码,请告诉我,我即将崩溃。
答案 0 :(得分:1)
CreateGraphics()
。除极少数情况外,这是危害人类罪。Paint
的{{1}}事件(或覆盖OnPaint()
)。在那里写下你的线条图代码。这样的事情:
Form
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using(var blackPen = new Pen(Color.Black, 3))
e.Graphics.DrawLine(blackPen, PB[0].Location, PB[1].Location);
}
。