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;
}
实现这一点有多种方法
列表中
,并像您提到的那样对它们进行迭代私有列表复选框=新建列表();
公共表格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的代码。你会选择你需要的。