C# 如何使用循环使子命令按钮执行
好的,这是我昨天提问的一个高级方法C# 如何使用循环使子命令按钮执行,c#,loops,switch-statement,C#,Loops,Switch Statement,好的,这是我昨天提问的一个高级方法 switch (status) { case 0: { label1.Visible = false; label2.Visible = true; label3.Visible = false; status = 1; break;
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;
}
}
我在命令按钮中使用了这个开关标志,并且成功了很多
但我发现了一些很酷的东西,所以我想到了一个大的先进的东西,可能是这样的
while (true)
{
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;
}
}
}
所以我只使用一个命令按钮,然后所有的情况下,在开关开始重复和重复。
但是这种逻辑是完全失败的,当我执行程序时,我什么都不知道。
我已经用递增循环和失败完成了,
在这种情况下,while循环是否有可能?单击按钮1后,这段代码将无限期地显示和隐藏标签。看看这是不是你想要的
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
var t = new System.Threading.Tasks.Task(Switcher);
t.Start();
}
private void Switcher()
{
int status = 0;
while (true)
{
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;
}
System.Threading.Thread.Sleep(200);
}
}
你到底想做什么?@nphx我想做一个重复的切换程序你打算让那些
break
语句跳出循环吗?@nphx-hm,我不明白你的意思,我的想法是循环switch语句,这样我就不用点击命令按钮来重复它了,这正是您所做的。这有什么意义呢?var t=新系统。线程。任务。任务(切换器);这不是一个有效的对象,先生,但是System.Threading.Thread.Sleep(200);是available@Geofff您使用的是比4.0旧的.NET版本吗?是的,我使用的是.NET 2.0,因此此版本仅在.NET 4.0中可用then@Geofff您可以使用var t=newsystem.Threading.Thread(切换器)代码>改为。“跨线程操作无效:从创建控件“Form1”的线程以外的线程访问控件“Form1”。“顺便问一下,编写代码u的目的是什么?”?我想知道。。。