如何让一个子进程在C#中执行命令按钮

时间:2013-11-23 11:32:11

标签: c#

我使用Command Button进行了一些进步

让我说我的表格有

label1
label2
label3

当然还有一个命令按钮

点击命令按钮

之前
label1.Visible = true;
label2.Visible = false;
label3.Visible = false;

如果我单击命令按钮

label1.Visible = false;
label2.Visible = true;
label3.Visible = false;

然后我再次点击

label1.Visible = false;
label2.Visible = false;
label3.Visible = true;

再次重复,然后在我单击命令按钮

之前返回到第一个

我没有任何关于此的参考,所以我只是在表单中创建一个具有相同位置的重复命令按钮,并且我使用visible来获取另一个要点击的命令按钮

但看起来并不酷,

有没有比我更好的方法?

3 个答案:

答案 0 :(得分:0)

你可以制作一个按钮,并计算用户所做的点击次数,具体取决于您可以调用您提供的三种方法中的任何一种的mod操作,如下所示:

   int count = 1; //count clicks    
   private void ButtonClick(object sender, EventArgs e)
        {
           if(count%2 == 0)
           {
              label1.Visible = false;
              label2.Visible = true;
              label3.Visible = false;
           }
           else if(count%3 == 0){
              label1.Visible = false;
              label2.Visible = false;
              label3.Visible = true;
           }
           else{
             label1.Visible = true;
             label2.Visible = false;
             label3.Visible = false;
           }
        count++;
        }

答案 1 :(得分:0)

类似于此的内容将允许您只有一个命令按钮。

public int visibleLabel = 1;

private void commandButton_Click(object sender, EventArgs e)
{
  this.visibleLabel += 1;
  if (this.visibleLabel == 4) this.visibleLabel = 1

  label1.visble = false;
  label2.visble = false;
  label3.visble = false;

  switch (this.visibleLabel)
  {
    case 1:
      label1.visble = true;
    break;
    case 2:
        label2.visble = true;
    break;
    case 3:
        label3.visble = true;
    break;
  }
}

或者,您可能需要考虑使用单个标签并更改文本(假设它们位于相同的位置)

答案 2 :(得分:0)

为什么不使用标志来跟踪命令按钮的当前状态?如果我理解你的问题,你需要一个命令按钮,在第一次点击时将label2设置为可见,第二次点击时label3可见,第三次点击时可见label1。在命令按钮单击处理程序中执行类似的操作:

switch (status)
        {
            case 0:
                {
                    label1.Visible = false;
                    label2.Visible = true;
                    label3.Visible = false;
                    status = 1;
                    break;
                }
            case 1:
                {
                    label1.Visible = false;
                    label2.Visible = false;
                    label3.Visible = true;
                    status = 2;
                    break;
                }
            case 2:
                {
                    label1.Visible = true;
                    label2.Visible = false;
                    label3.Visible = false;
                    status = 0;
                    break;
                }
        }

有些代码是多余的,当然你应该在类的某个地方有一个名为status的整数变量。无论如何,这应该是可以理解的,我希望它有所帮助。