Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图在循环中忽略一个复选框控件_C#_Controls - Fatal编程技术网

C# 试图在循环中忽略一个复选框控件

C# 试图在循环中忽略一个复选框控件,c#,controls,C#,Controls,我有一个Utility类,它有一个静态方法,将控件对象作为参数。该类/方法的原因是为下一个新游戏清除/重置应用程序的形式 我对所有不同的控件做了大量的操作,对于复选框控件,我去掉了复选标记。有一个复选框我不想碰(如果是,请保持选中)。我让它工作了,不知怎么的,我记不起来了,它可能很简单 当前代码: // Called when a new game is started. Clears all checkmarks in all checkbox controls if (control i

我有一个Utility类,它有一个静态方法,将控件对象作为参数。该类/方法的原因是为下一个新游戏清除/重置应用程序的形式

我对所有不同的控件做了大量的操作,对于复选框控件,我去掉了复选标记。有一个复选框我不想碰(如果是,请保持选中)。我让它工作了,不知怎么的,我记不起来了,它可能很简单

当前代码:

// Called when a new game is started.  Clears all checkmarks in all checkbox controls

if (control is CheckBox)
{
   CheckBox checkBox = (CheckBox)control;
   checkBox.Checked = false;
}
测试代码:

// Called when a new game is started.  Clears all checkmarks in all checkbox controls

if (control is CheckBox)
{
   if (control is form.checkBoxWarning)
   {
      continue;
   }

   CheckBox checkBox = (CheckBox)control;
   checkBox.Checked = false;
}
“表单”被传递到此静态类:

public static void ResetAllControls(Control form)

但我仍然不知道如何将该控件放到上下文中。我尝试的控件名称是checkBoxWarning

您可能想要的是:

if (control is CheckBox)
{
    if (control.Name == "checkBoxWarning")
    {
         continue;
    }
    CheckBox checkBox = (CheckBox)control;
    checkBox.Checked = false;
}     
但是,更好的方法是使用该属性。在任何您不想触摸的复选框上,将其设置为
false
,然后使用以下代码:

if (control is CheckBox)
{
    if (control.Tag != null && ((bool)control.Tag) == false)
    {
        continue;
    }
    CheckBox checkBox = (CheckBox)control;
    checkBox.Checked = false;
}
这样做可以让你不必再碰你的类代码,就可以不碰多个复选框。

@HighCore——有时候你会被这些东西卡住。信不信由你,在我的工作中,我仍然维护着一个用.NET1.1编写的程序。说可怕的!没有泛型,没有Linq!解决方案:右键单击项目->属性->将目标框架更改为4.5->编译->修复编译错误->利润。不需要恐龙的东西。