Graphics g = this.panel1.CreateGraphics();
Pen pen = new Pen(Color.Red,2);
Point oldPoint = new Point();
oldPoint.X = oldbtn.Location.X + oldbtn.Width;
oldPoint.Y = oldbtn.Location.Y + oldbtn.Height / 2;
Point newPoint = new Point();
newPoint.X = newbtn.Location.X;
newPoint.Y = newbtn.Location.Y + oldbtn.Height / 2;
g.DrawLine(pen, newPoint, oldPoint);
为两个控件之间画上线 失去焦点后 线消失了 请问这个怎么解决呢?
Pen pen = new Pen(Color.Red,2);
Point oldPoint = new Point();
oldPoint.X = oldbtn.Location.X + oldbtn.Width;
oldPoint.Y = oldbtn.Location.Y + oldbtn.Height / 2;
Point newPoint = new Point();
newPoint.X = newbtn.Location.X;
newPoint.Y = newbtn.Location.Y + oldbtn.Height / 2;
g.DrawLine(pen, newPoint, oldPoint);
为两个控件之间画上线 失去焦点后 线消失了 请问这个怎么解决呢?
private void Form1_Paint(object sender, PaintEventArgs e)
{ }2 或则你绘制到图片上贴背景图.
protected override void OnPaint( PaintEventArgs e )
{
public Form2()
{
InitializeComponent();
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form2Paint);
} private void Form2Paint(object sender, PaintEventArgs e)
{
Graphics g = this.panel1.CreateGraphics();
Pen pen = new Pen(Color.Red,2);
Point oldPoint = new Point();
oldPoint.X = oldbtn.Location.X + oldbtn.Width;
oldPoint.Y = oldbtn.Location.Y + oldbtn.Height / 2;
Point newPoint = new Point();
newPoint.X = newbtn.Location.X;
newPoint.Y = newbtn.Location.Y + oldbtn.Height / 2;
g.DrawLine(pen, newPoint, oldPoint); }
-------------------------------------
因为控件失去焦点,会刷新。如果你的画线操作没有和刷新挂勾的话,之前的线就不再出现。可以使用panel.OnPaint事件。