2017-06-08 11 views
-2
namespace MiniPaint 
{ 
    public partial class Form1 : Form 
    { 
     Graphics g; 
     Pen p = new Pen(Color.Black, 1); 
     Point sp = new Point(0, 0); 
     Point ep = new Point(0, 0); 
     int k = 0; 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void panel1_Paint(object sender, PaintEventArgs e) 
     { 

     } 

     private void red_Click(object sender, EventArgs e) 
     { 
      p.Color = red.BackColor; 
      default1.BackColor = red.BackColor; 
     } 

     private void green_Click(object sender, EventArgs e) 
     { 
      p.Color = green.BackColor; 
      default1.BackColor = green.BackColor; 
     } 

     private void blue_Click(object sender, EventArgs e) 
     { 
      p.Color = blue.BackColor; 
      default1.BackColor = blue.BackColor; 
     } 

     private void Form1_MouseDown(object sender, MouseEventArgs e) 
     { 
      sp = e.Location; 
      if (e.Button == MouseButtons.Left) ; 
      k = 1; 

     } 

     private void Form1_MouseUp(object sender, MouseEventArgs e) 
     { 
      k = 0; 

     } 

     private void Form1_MouseMove(object sender, MouseEventArgs e) 
     { 
      if (k == 1) 
      { 
       ep = e.Location; 
       g = this.CreateGraphics(); 
       g = DrawLine(p, sp, ep); 
      } 

      sp = ep; 

     } 
    } 
} 

こんにちは!私はこのコードに問題があり、タイトルは私のエラーです。私はこのコードを理解しています(部分的には自分で書きましたが、このエラーは私を夢中にしています)。誰かが間違ってどこに私に教えて、私にそれを説明することはできますか?前もって感謝します!そして、btwはフォーム上にペイントされるすべてのものを削除するためにボタンを介して例えば簡単な方法があります、そして、私はそれをどうやって行うことができますか?名前 'Drawline'は現在のコンテキストに存在しません

+0

はい私はSystem.Drawingを使用しています – Dvenee

答えて

1

DrawLineは、Graphicsオブジェクトで使用でき、また、voidを返します。だから、この:

g.DrawLine(p, sp, ep); 
+0

それは動作します!本当にありがとう! – Dvenee

+0

btwフォーム上にペイントされるすべてのものを削除するために、ボタンを使用して簡単な方法があります。どうすればいいですか? – Dvenee

0

あなたは間違っDrawLineメソッドを使用している:

g = DrawLine(p, sp, ep); 

は何かのようにする必要があります。 Graphicsインスタンスに線を描画します。

g.DrawLine(p, sp, ep); 
関連する問題