Form2
を示し、そしてForm2
にFormClosed
イベントを使用する前button3
を無効にするだろう、これを達成するための最善の方法は、フォーム一度button3
を再度有効にする:ここで
は、私が試したものです閉じている:
public partial class Form1 : Form
{
...
private void button3_Click(object sender, EventArgs e)
{
// Instantiate the form and assign the FormClosed event
var form = new Form2(label1.Text);
form.FormClosed += Form2_FormClosed;
// Disable button3
button3.Enabled = false;
// Show the form
form.Show();
}
// Occurs when Form2 is closed
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
// Re-enable button3
button3.Enabled = true;
}
}
FormClosed
イベントにラムダ式を割り当てる代替方法:
private void button3_Click(object sender, EventArgs e)
{
// Instantiate the form
var form = new Form2(label1.Text);
// Assign a lambda method to the FormClosed event to re-enable button3
form.FormClosed += (s, a) => button3.Enabled = true;
// Disable button3
button3.Enabled = false;
// Show the form
form.Show();
}
button3.Enabled =偽;同じフォームの場合は動作するはずですか? – jsls
ええ、button3はform1にあります。私はform2を読み込んでからボタン3を消したいと思っています。そして、私はfrom2を閉じるときにform1のbutton3を有効にしたいと思っています:( – xxxXXX