0

私はこのコードを持っています:

 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;

 namespace WindowsFormsApplication1
 {
     public partial class Form1 : Form
     {
         public Form1()
         {
             InitializeComponent();
         }
         public class vars
         {
             public static int x = 250;
             public static int y = 250;
         }
         private void button1_Click(object sender, EventArgs e)
         {
             button1.Visible = false;
             Pen main = new Pen(Color.Black);
             this.Graphics.DrawRectangle(main, vars.x, vars.y, 2, 2);
             while (true)
             {

             }
         }
      }
 }

しかし、アプローチ方法がわからないという厄介なエラー('button1_Click'のオーバーロードがデリゲート'System.EventHandler'と一致しない)が発生し続けます。私はしばらくの間オンラインで検索してトラブルシューティングを行ってきましたが、答えは見つかりませんでした。任意の提案をいただければ幸いです。

4

1 に答える 1

3

コードの一部を削除しPaintEventArgs gます。イベントに添付されるメソッドは、イベントの「パターン」と一致する必要があります。

Form1の外部で必要になる場合を除いて、自分のクラスの外部で変数を宣言します。そのただ不要です。

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int x = 250;
        int y = 250;

        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
       {
            button1.Visible = false;
            Pen main = new Pen(Color.Black);
            this.CreateGraphics().DrawRectangle(main, vars.x, vars.y, 2, 2);
       }
    }
}

それはうまくいくはずです!

于 2012-06-23T02:38:38.830 に答える