我有一个要求,如果我点击Checkboxes,那么应该更新相应的端口,这些更新的端口将用于另一个文件,用于将输出发送到这些特定端口。因此,当我点击Clickbox 1 4和7时,应该启用那些相应的端口。在输出必须发生的地方(即,class2),我运行一个循环,它将在while循环(例如)中从端口读取,因此只有1 4和7个启用的端口应该运行。问题是,如果我点击复选框1 2 3,即连续数字,它工作正常,如果我点击说7,然后循环减少,最后端口从1到7启用时只有7应该闪烁。即,从7开始,然后是6,然后是5,然后是5,最后是1,当只有7个闪烁时,所有灯都闪烁。
这是复选框条件:
private void checkBox4_CheckedChanged_1(object sender, EventArgs e)
{
if (sender is CheckBox)
{
CheckBox checkbox = sender as CheckBox;
if (checkbox.Checked)
{
Enableports[4] = true; or Enableport(4); // im setting that port 4 to true( Enableports[4] = true ) and directly entering the value in another API( Enableport(4) ).
}
else
{
Disableport(4);
}
}
}
这是循环:(这是另一个类) bool [] Enabledports {get;组;是启用端口的声明。 void Enableport(int output);一个人。
for (int i = 0; i <= 12; i++)
{
if (Enabledports[i] == true) // API to check those enabled ports only
{
Enableport(i);
}
}
此处Enabledports为bool[]
返回类型。
我不确定我是否正确行事。我只是一个初学者,任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
我不能完全确定我是否正确理解了你的问题,但无论如何我会提供最好的建议:
我认为在一个地方(“另一个类中的循环”)执行“EnablePort()”和在另一个地方执行“DisablePort()”是一个坏主意(在“else”子句中) checkBox4_CheckedChanged_1()事件处理方法)。
我不明白为什么你必须在循环中执行“EnablePort()”而不是直接从checkBox4_CheckedChanged_1()方法调用它,如果没有特别要求,我建议只调用“EnablePort”( )“直接。
只是我的2美分......