2016-06-24 8 views
0

ユーザーは、ペイントで直線を描くのと同じように、パネル上に直線を描くことができるはずです。ビジュアルスタジオで直線を描くC#マウスと共に移動する線と共にユーザが?

ユーザーがパネル上をクリックし、マウスを動かすと、マウスと共に移動する必要があります(つまり、ペイントで奇数ラインを描くのと同じように)。そして、ユーザーがマウスを離したときに、このリリースポイントへのクリックの元のポイント。

フリーハンドラインではありません。

これにはアニメーションがありますか?

答えて

0

これはいかがですか? :あなただけの大きさに、フォームのControlsコレクション、および設定の場所/サイズまたはアンカー/ドックPARAMATERSにそれを新しいLinePanel()を追加することができますテストするに

public class LinePanel : Panel 
{ 
    public LinePanel() 
    { 
     this.MouseDown += (src, e) => { LineStartPos = LineEndPos = e.Location; Capture = true; Invalidate(); }; 
     this.MouseMove += (src, e) => { if (Capture) { LineEndPos = e.Location; Invalidate(); } }; 
     this.MouseUp += (src, e) => { if (Capture) { LineEndPos = e.Location; } Capture = false; Invalidate(); }; 
    } 

    private Point LineStartPos, LineEndPos; 

    protected override void OnPaint(PaintEventArgs e) 
    { 
     base.OnPaint(e); 

     if (LineStartPos != LineEndPos) 
      e.Graphics.DrawLine(new Pen(Color.Black, 2), LineStartPos, LineEndPos); 
    } 
} 

関連する問題