0

我刚刚使用窗口窗体应用程序设计了一个简单的“For Loop”。我希望这只能点击一次,并且如果我点击按钮,它不会重复相同的信息。我怎么能那样做?谢谢这是我的代码:

        int count;

        for (count = 0; count < 5; count = count + 1)
        {
            listBox1.Items.Add("This is count: " + count);
        }
        const string textEnd = "Done!!!";
        {
            listBox1.Items.Add(textEnd);
        }

==== 附加信息 === 我现在已经做到了。这只会单击一次,但该按钮仍处于启用状态。我认为这没问题:

        int count;

        for (count = 0; count < 5; count++)
        {
            string newItem = "This is count: " + count; 
            if (listBox1.Items.IndexOf(newItem) < 0) 
            { 
                listBox1.Items.Add(newItem); 
            }
         }

        const string textEnd = "Done!!!";
        if (listBox1.Items.IndexOf(textEnd) <0)
        {
            listBox1.Items.Add(textEnd);
        }
4

6 回答 6

4
button1.Enabled = false;
于 2009-05-20T08:14:08.590 回答
1

我假设您不希望将相同的项目多次添加到列表中?

代替

{
    listBox1.Items.Add("This is count: " + count);
}

你需要类似的东西

{
    string newItem = "This is count: " + count;
    if(listBox1.Items.IndexOf(newItem) < 0)
    {
        listBox1.Items.Add(newItem);
    }
}
于 2009-05-20T08:16:06.493 回答
0

如果它不是太多的项目,你总是可以在添加东西之前清除列表框。

listbox1.Items.Clear();
...your adding code...

但可能最好的解决方案就是禁用按钮,就像 Ian 写的那样。

于 2009-05-20T09:21:11.357 回答
0

最好的是伊恩所说的,但是您也可以通过运行以下任一命令来完全隐藏按钮

button.Hide();

或者

button.Visable = false;
于 2009-05-20T09:34:21.877 回答
0

在点击事件上,添加 button1.Enabled = false

也许,在循环之后,您可能想要添加 button1.Enabled = true 以重新启用按钮。:)

于 2009-05-20T08:15:42.750 回答
0

您可以只使用一个简单的“标志”来确定循环是否已经运行。

创建一个全局变量,例如 bool HasRun = false;

然后在执行循环之前检查标志的状态,例如 if HasRun == true

首次运行循环时将 HasRun 设置为 true。

最后,您还可以在首次运行时禁用该按钮,例如 button1.Enabled = false;

于 2009-05-20T08:16:29.893 回答