只能选择一个复选框

2023-11-29

我想一次只选择一个复选框。我的程序从文本文件中读取并根据文本文件中有多少个“答案”创建复选框。

有谁知道代码有什么问题吗?

public partial class Form1 : Form

    {
        string temp = "questions.txt";

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader(temp);
            string line = "";
            List<string> enLista = new List<string>();
            while ((line = sr.ReadLine()) != null)
            {
                string[] myarray = line.Split('\r');
                enLista.Add(myarray[0]);


            }
            sr.Close();


            for (int i = 0; i < enLista.Count; i++)
            {
                if (enLista[i].Contains("?"))
                {
                    Label lbl = new Label();
                    lbl.Text = enLista[i].ToString();
                    lbl.AutoSize = true;
                    flowLayoutPanel1.Controls.Add(lbl);
                }
                else if (enLista[i] == "")
                {

                }
                else
                {
                    CheckBox chk = new CheckBox();
                    chk.Text = enLista[i].ToString();
                    flowLayoutPanel1.Controls.Add(chk);
                    chk.Click += chk_Click;
                }
            }

        }
        private void chk_Click(object sender, EventArgs e)
        {
            CheckBox activeCheckBox = sender as CheckBox;
            foreach (Control c in Controls)
            {
                CheckBox checkBox = c as CheckBox;
                if (checkBox != null)
                {
                    if (!checkBox.Equals(activeCheckBox))
                    { checkBox.Checked = !activeCheckBox.Checked; }
                    else
                    { checkBox.Checked = true; }
                }
            }
        }
    }

实现你想要的就是这么简单,但也如此strange:

//We need this to hold the last checked CheckBox
CheckBox lastChecked;
private void chk_Click(object sender, EventArgs e) {
   CheckBox activeCheckBox = sender as CheckBox;
   if(activeCheckBox != lastChecked && lastChecked!=null) lastChecked.Checked = false;
   lastChecked = activeCheckBox.Checked ? activeCheckBox : null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

只能选择一个复选框 的相关文章

随机推荐

  • 如何使 元素展开或收缩到其父容器?

    目标是拥有
  • 模拟java开发的高CPU负载

    我正在开发一个 Java 应用程序 想看看它如何在较慢 超载的机器上运行 我怀疑可能存在一些线程不安全问题等被忽略 因为我的机器编译得足够快 有没有办法模拟 Java 应用程序的高 CPU 负载 限制可用 CPU 当然 我可以编写一个脚本来
  • C 全局匿名结构/联合

    我有一个 uint64 变量 通常只需要高位或低位 32 位访问 我正在使用 32 位 ARM Cortex M0 为了提高速度 我尝试将 uint64 变量与 C 中的两个 uint32 变量重叠 使用匿名结构 希望避免指针运算来访问成员
  • 如何调整 bash 函数以便省略双引号?

    一整天 我经常输入这样的内容 git stash push u m some phrase as a message 我更愿意输入 stpu some phrase as a message 所以在来自的帮助下这个答案 我在我的中创建了一个
  • 我应该在哪里放置数据库连接字符串以及如何处理连接池?

    我正在开发一个托管在 IIS 服务器上的 asp net 应用程序 要打开连接 我使用 SqlConnection con new SqlConnection Server INLD50045747A SQLEXPRESS Database
  • 加密货币、哈希值和密码问题,完全是菜鸟吗?

    我读过几篇关于这个主题的 stackoverflow 文章 特别是这个 PHP 密码的安全哈希和盐 但我还有一些问题 我需要一些澄清 请告诉我以下陈述是否属实并解释您的评论 如果有人可以访问您的数据库 数据 那么他们仍然需要弄清楚您的哈希算
  • 在 Ubuntu 上找不到 Tkinter 模块

    Python 2 7 1 r271 86832 Apr 11 2011 18 05 24 GCC 4 5 2 on linux2 Type help copyright credits or license for more informa
  • 加载自定义 True Type 字体

    在 Mac Firemonkey 应用程序 Delphi XE7 中 如何加载自定义 TrueType 字体 对于 Windows 我的应用程序安装程序将我的字体添加到 Windows 本身 我已经使用 FPC Lazarus 完成了此操作
  • 如何在搜索时添加加载图标? (Vue.js 2)

    我的组件是这样的
  • 内存对齐的目的

    不可否认 我不明白 假设您有一个内存 其内存字长度为 1 字节 为什么不能在未对齐地址 即不能被 4 整除 上的单次内存访问中访问 4 字节长的变量 就像对齐地址的情况一样 现代处理器上的内存子系统仅限于以其字大小的粒度和对齐方式访问内存
  • 强制 UITableView 滚动到顶部?

    如果 tableview 包含的单元格少于 10 个左右 您将如何强制 UITableViewCell 滚动到顶部 当 tableview 处于编辑模式时 我支持在 tableView 单元格中编辑托管对象上下文 不用说 如果单元格位于表格
  • 使用 for 循环迭代数据集 TF 2.0

    这个问题是关于如何迭代 TF 数据集 因为make initializable iterator 已弃用 我使用以下函数读取数据集 def read dataset new filename target delay ds tf data
  • 为什么 toPrecision 返回一个字符串?

    查看这段代码 function testprecision var isNotNumber parseFloat 1 3 toPrecision 6 alert typeof isNotNumber gt string 我本来预计会有一个数
  • spring集成sftp主机:写入文件失败;嵌套异常为 3:权限被拒绝

    我正在尝试使用 Spring 集成 sftp outbound gateway 将 sftp 文件发送到大型机 这是配置
  • 页面对象模式和替代方案

    当您自动化 Web UI 测试时 您希望组织您的测试 以便它们可维护并尽可能减少代码重复 要去的路上是页面对象模式 您在现实世界的项目中尝试过吗 还有其他选择吗 如何对复杂的网站进行建模 很少的嵌套母版页 弹出窗口 具有疯狂验证的大型表单
  • 如何在flutter中实现下拉列表?

    我有一个位置列表 我想在 Flutter 中将其实现为下拉列表 我对这门语言很陌生 这就是我所做的 new DropdownButton value selectedLocation onChanged String newValue se
  • 解决方案 - 实体类型 ApplicationUser 不是当前上下文模型的一部分

    我将这个问题作为文档发布 因为我花了很多时间才找到这个简单的问题 我正在使用 VS15 生成的原始 MVC 项目并尝试对其进行修改 错误 InvalidOperationException 实体类型 ApplicationUser 不是当前
  • MSDOS“你好世界”EXE

    我想编译一个 Hello World MS DOS exe 不是在 XP 16 位模式或 Windows 操作系统之上的 MS DOS 模式下运行的程序 我可以在我的 MS DOS 机器上运行的 HELOWRLD EXE I think D
  • 如何在 SQLite 中获取行号?

    我读过很多关于如何在 SQLite 中使用行号的文章 但没有一篇文章给了我我需要的答案 我知道如何使用此查询选择行号 SELECT SELECT COUNT FROM table WHERE title lt t title OR titl
  • 只能选择一个复选框

    我想一次只选择一个复选框 我的程序从文本文件中读取并根据文本文件中有多少个 答案 创建复选框 有谁知道代码有什么问题吗 public partial class Form1 Form string temp questions txt pu