从C#中的另一个按钮隐藏相同GUI的按钮

时间:2017-04-20 07:05:44

标签: c# winforms

我有一个表单(比如form1)有两个按钮(比如说button1& button2)。当我点击button2相同的表单时,form1应该会打开,但条件是form1第二次打开button1& button2应该隐藏起来。我该怎么做?

2 个答案:

答案 0 :(得分:2)

第二次实例化表单时,只需隐藏两个按钮:

private void button2_Click(object sender, EventArgs e)
{
    var secondForm1 = new Form1();
    secondForm1.button1.Hide();
    secondForm1.button2.Hide();
    secondForm1.Show();
}

答案 1 :(得分:0)

您可以创建一个static实例计数器并在构造函数中递增它。如果此计数器超过1,则隐藏构造函数中的按钮:

public static int InstanceCount = 0;

public Form1()
{
    InstanceCount++;
    InitializeComponent();
    if (InstanceCount > 1)
    {
        this.button1.Hide();
        this.button2.Hide();
    }
}

然后,您可以在结束事件中撤销该流程,并在每次关闭Form1时向后计数:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
     InstanceCount--;
}