我使用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来获取另一个要点击的命令按钮
但看起来并不酷,
有没有比我更好的方法?
答案 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的整数变量。无论如何,这应该是可以理解的,我希望它有所帮助。