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 回答