我对C#编码很新,我正在尝试创建一个'取消'按钮。我收到上面的错误消息。有什么建议?提前致谢! 我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.FormClosing += new FormClosingEventHandler(button3_Click);
}
public void button3_Click(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
}
}
答案 0 :(得分:1)
你的问题有点令人困惑。实际上你的代码应该编译得很好,因为Form.FormClosing
事件需要一个与button3_Click
具有完全签名的方法。
但这一切似乎并不是你真正想要的。我假设你想为你的按钮添加一个点击处理程序:
public Form1()
{
InitializeComponent();
this.button3.Click += button3_Click;
}
private void button3_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
当用户点击按钮时,会引发Click
事件(顾名思义)。
FormClosing
即将关闭时会引发Form
。您可以使用它(例如)要求用户进行确认:
public Form1()
{
InitializeComponent();
this.button3.Click += button3_Click;
this.FormClosing += Form1_FormClosing;
}
private void button3_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = MessageBox.Show(this, "Do you really want to quit?",
"Quit?", MessageBoxButtons.YesNo) != DialogResult.Yes;
}
使用FormClosingEventArgs.Cancel
属性,您可以告诉Form
不关闭。
答案 1 :(得分:0)
这就是你需要的
public Form1()
{
InitializeComponent();
}
public void button3_Click(object sender, EventArgs e)
{
this.Hide();
}