c# - 如何检索在所有表单中选择的复选框列表?
问题描述
我正在处理的 GUI 上有大约 20 个复选框,根据选中的复选框,确定我需要的输入。
我知道如何检查复选框是否被选中,并且可以通过这种方式确定输入。
但我不想对所有 20 多个复选框都这样做。
有没有办法获得选中的复选框?
就像是:
string[] ports = new string[3];
ports[] = list_of_checkboxs_that_are_checked;
然后将用户限制为仅选择 3 个,或者多个?
解决方案
您可以遍历它们并迭代表单上的控件。
foreach(Control c in this.Controls)
{
if(c is CheckBox)
{
// Do stuff here/logic
}
}
或者做一个更 LINQ/Lamba-ish 类型的方法
var checkList = YourForm.Controls.OfType<CheckBox>().Where(x => x.Checked).ToList();
checkList.ForEach(x => {
//Do stuff here
});
推荐阅读
- django - Git 存储库未显示在 GitHub 中
- flutter - 如何在 Flutter 中向 QuerySnapshot 文档添加新参数(键/值对)
- xml - XSLT 只保留最顶层的属性
- ms-word - 使用 Open XML 将 Word 文档中的文本替换为 URL
- python - Django mptt渲染项关联到父类和子类
- newman - Azure DevOps 上的 Newman CLI 抛出连接 etimedout
- javascript - 如何将计划的 cron 引用存储在数据库中,以便将来在节点 js 中停止该 cron?
- android-studio - 为 Google VR SDK 实现 Exoplayer
- image - 图片未加载到 Github 页面
- java - 如何在 android 共享首选项中保存远程通知计数