2016-11-23 17 views
0

私は2点を描画し、メソッドを作成した2つのイベントDragenterとDragoverを使用するが、エラーが発生する:windowsforms C#コントロール - 実行時にコントロールを移動してサイズを変更する

CS7036は、必要な仮パラメータ「差出人」「Form1.DrawLine(オブジェクト、PaintEventArgsの)」

私は最終的に()メソッドのDrawLineを起動しようとすると、このエラーが表示さに対応与えられた引数はありませんイベントDragOver:

誰か助けてください?コードはここにある:さて、あなたのエラー与え

private void DrawLine(object sender, PaintEventArgs e) 
    { 
     Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255), 8); 
     pen.StartCap = LineCap.ArrowAnchor; 
     pen.EndCap = LineCap.RoundAnchor; 
     e.Graphics.DrawLine(pen, StPoint, EnPoint); 
     //groupBox1.Refresh(); 
    } 

    private void groupBox1_DragEnter(object sender, DragEventArgs e) 
    { 
     StPoint = new Point(e.X, e.Y); 

    } 

    private void groupBox1_DragOver(object sender, DragEventArgs e) 
    { 
     EnPoint = new Point(e.X, e.Y); 

     this.DrawLine(); 
    } 

答えて

0

CS7036 There is no argument given that corresponds to the required formal parameter 'sender' of 'Form1.DrawLine(object, PaintEventArgs)'

あなたgroupBox1_DragOver方法でDrawLine呼び出しに引数を渡すのを忘れように見えます。あなたが見

DrawLine方法は、2つのパラメータで宣言されました:タイプobjectsenderと種類PaintEventArgse

private void DrawLine(object sender, PaintEventArgs e) 

メソッドを呼び出す場所に入力する必要があります。

しかし、この方法でもパラメータを使用する必要がありますが、それを使用しないため、再使用する負担があります。本文をパラメータのないメソッドに抽出するか、ラムダを使用してイベントにバインドし、引数を無視してください(例:OnSomeEvent += (s, a) => DrawLine())。

+0

ありがとうございました!私はこのメソッドを作成するためにMSDNコードを使用したので、パラメータを除外するのを忘れましたが、これを修正するのを手伝ってもらえますか? 私はパラメータを削除し、私のコードはこの同じエラーを表示し続けます。 –

+0

ありがとう、私はあなたの説明でこれを解決しました! –

関連する問題