Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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时选中多个复选框#_C# - Fatal编程技术网

C# 单击按钮c时选中多个复选框#

C# 单击按钮c时选中多个复选框#,c#,C#,例如,我有: Checkbox1.IsChecked = true; Checkbox2.IsChecked = true; Checkbox3.IsChecked = true; i = 1 while i < 32: ("Checkbox"+ (i)).IsChecked = true; i++ 这个我有32次了。有没有办法让concat字符串?例如: Checkbox1.IsChecked = true; Checkbox2.IsChecked = true; C

例如,我有:

Checkbox1.IsChecked = true;
Checkbox2.IsChecked = true;
Checkbox3.IsChecked = true;
i = 1
while i < 32:
    ("Checkbox"+ (i)).IsChecked = true;
    i++
这个我有32次了。有没有办法让concat字符串?例如:

Checkbox1.IsChecked = true;
Checkbox2.IsChecked = true;
Checkbox3.IsChecked = true;
i = 1
while i < 32:
    ("Checkbox"+ (i)).IsChecked = true;
    i++
i=1
而我<32:
(“复选框”+(i)).IsChecked=true;
我++

谢谢

虽然您不能完全按照自己的意愿操作,但您可以选中或取消选中给定容器中的所有复选框。例如,假设您有一个包含许多复选框的面板,称为pnlcheck。你可以这样做

foreach (var chkBox in pnlChecks.Controls.OfType<CheckBox>())
{
    chkBox.IsChecked = true;
}
foreach(pnlChecks.Controls.OfType()中的var chkBox)
{
chkBox.IsChecked=true;
}

实现这一点有多种方法

  • 将它们全部添加到一个通用的
    列表中
    ,并像您提到的那样对它们进行迭代
  • 使用反射并获取复选框控件并设置其值
  • WinForms代码示例
    私有列表复选框=新建列表();
    公共表格1()
    {
    初始化组件();
    填写复选框();
    }
    私有void CheckAll()
    {
    foreach(复选框中的var chk)
    {
    chk.Checked=真;
    }            
    }
    私有无效填充复选框()
    {
    foreach(此.Controls中的控件c)
    {
    如果(c是复选框)
    {
    复选框。添加(c作为复选框);
    }
    }
    }
    私有无效按钮1\u单击(对象发送者,事件参数e)
    {
    CheckAll();
    }
    
    WPF代码示例
    私有列表复选框=新建列表();
    公共窗口1()
    {
    初始化组件();
    复选框=FindVisualChildren(main.ToList();
    CheckAll();
    }
    私有void CheckAll()
    {
    foreach(复选框中的var chk)
    {
    chk.IsChecked=true;
    }
    }
    公共静态IEnumerable FindVisualChildren(DependencyObject depObj),其中T:DependencyObject
    {
    if(depObj!=null)
    {
    for(int i=0;i
    重要提示
    对于WPF,建议的方法是使用数据绑定,而不是遍历控件并手动选中/取消选中它们。只需将
    IsChecked
    属性绑定到所需的值并进行更改。你可以在互联网上的许多文章中找到更多关于这方面的信息。

    有一种方法可以使用对象集合并对其进行迭代。我对C#非常陌生,你能提供一些示例代码吗?非常感谢你!当然是WPF应用程序还是Winforms?奇怪的建议,我们可以使用Skype吗?c代码有点麻烦,抱歉我不能。现在是凌晨4点:我将发布WPF和Winforms的代码。你会选择你需要的。