30 button_click后不应出现表单

时间:2012-03-08 06:30:03

标签: c#

* 强文 *我有疑问

我在VS2010中为Windows应用程序创建了一个应用程序

我在form1中使用了form1我使用了一个按钮,点击按钮它将加载第二个表单,即.. form2,其中添加了图像

总体情况是当我执行应用程序时我将获得form1并通过单击按钮(在form1中)它将显示form2(意味着它将在form2中显示图像)

我想以这样的方式编码

第一次单击按钮时,form2将出现,而不是我将关闭form2

然后当我第二次单击按钮时,将出现form2而不是我将关闭form2

---

---


就像第30次单击按钮时,form2将出现,而不是我将关闭form2

但这里的混乱是

当我第31次单击按钮时,form2不应出现,而form2应该永远不会再显示

我完全糊涂了如何做到这一点请帮帮我

请指导我的代码

2 个答案:

答案 0 :(得分:1)

在Form1中创建一个计数器instance variable

private int counter = 0;

每当您打开Form2时,请增加计数器,即将counter++添加到打开Form2窗口的代码段中:

...
counter++;
var form2 = new Form2();
form2.ShowDialog();
...

为了防止第31次显示表格,请添加支票:

...
if (counter < 30) {
    counter++;
    var form2 = new Form2();
    form2.ShowDialog();
} else {
    MessageBox.Show("Sorry, Form2 has already been opened 30 times.");
}
...

注意:如果多次打开Form1,您可能需要使counter静态。

答案 1 :(得分:0)

您正在编写winform应用程序,因此您只需声明

即可
static int count;

每次按下按钮时都要检查

if(++count <= 30)
{
    //show it
}
else
{
    //Do something else
}