c# - 选择多个单选按钮

标签 c# winforms

我正在用 C# 制作一个 Windows 窗体,其中用户必须选择多个 RadioButton,但只能选择 1 个 RadioButton

我提供一张图片来说明我的问题

enter image description here

这是我的代码:

if (radioButton3.Checked == true)
{
     if (radioButton4.Checked == true)
     {
          NpgsqlCommand cmd10 = new NpgsqlCommand("INSERT INTO visual_acuity (eid, corrected, is_left_eye, value) VALUES (@eid, @corrected, @is_left_eye, @value)", conn);
          cmd10.Parameters.AddWithValue("@eid", textBox1.Text);
          cmd10.Parameters.AddWithValue("@value", textBox17.Text);
          cmd10.Parameters.AddWithValue("@is_left_eye", radioButton2.Checked);
          cmd10.Parameters.AddWithValue("@corrected", radioButton4.Checked);
          cmd10.ExecuteNonQuery();
     }
     if (radioButton5.Checked == true)
     {
          NpgsqlCommand cmd11 = new NpgsqlCommand("INSERT INTO visual_acuity (eid, corrected, is_left_eye, value) VALUES (@eid, @corrected, @is_left_eye, @value)", conn);
          cmd11.Parameters.AddWithValue("@eid", textBox1.Text);
          cmd11.Parameters.AddWithValue("@value", textBox17.Text);
          cmd11.Parameters.AddWithValue("@is_left_eye", radioButton2.Checked);
          cmd11.Parameters.AddWithValue("@corrected", radioButton4.Checked);
          cmd11.ExecuteNonQuery();
     }
}
else
{
     if (radioButton4.Checked == true)
     {
          NpgsqlCommand cmd10 = new NpgsqlCommand("INSERT INTO visual_acuity (eid, corrected, is_left_eye, value) VALUES (@eid, @corrected, @is_left_eye, @value)", conn);
          cmd10.Parameters.AddWithValue("@eid", textBox1.Text);
          cmd10.Parameters.AddWithValue("@value", textBox17.Text);
          cmd10.Parameters.AddWithValue("@is_left_eye", radioButton2.Checked);
          cmd10.Parameters.AddWithValue("@corrected", radioButton4.Checked);
          cmd10.ExecuteNonQuery();
     }
     if (radioButton5.Checked == true)
     {
          NpgsqlCommand cmd11 = new NpgsqlCommand("INSERT INTO visual_acuity (eid, corrected, is_left_eye, value) VALUES (@eid, @corrected, @is_left_eye, @value)", conn);
          cmd11.Parameters.AddWithValue("@eid", textBox1.Text);
          cmd11.Parameters.AddWithValue("@value", textBox17.Text);
          cmd11.Parameters.AddWithValue("@is_left_eye", radioButton2.Checked);
          cmd11.Parameters.AddWithValue("@corrected", radioButton4.Checked);
          cmd11.ExecuteNonQuery();
     }
}

如果您有任何建议,请随时发表评论。这将是一个很大的帮助。谢谢!

最佳答案

radio 按钮的名字来源于汽车 radio 上的电台按钮,一次只能选择一个电台。这就是单选按钮控件的用途。

只能选择一组中的一个按钮。还要考虑到有经验的用户仅通过查看他们就立即知道只能选择一个选项,因为他们在应用程序中的行为是一致的。因此,改变单选按钮的工作方式会让用户感到困惑。

如果您希望一次选择多个,则不需要单选按钮。请改用复选框。

关于c# - 选择多个单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31955548/

相关文章:

c# - 如何在几秒钟后更改标签文本?

C# 窗体 : move text from one textbox to another

c# - Windows 窗体的可停靠自动隐藏面板控件

c# - 命名空间 'WindowsAzure' 中不存在类型或命名空间名称 'Microsoft'

c# - 获取最后一个 Task<> 的结果(继续)?

c# - 我想根据从 ASP.NET Core 6 的 API 收到的 XML 字符串创建 docx 文件

.net - 对轻量级 .net Win Forms HTML 渲染器控件有什么建议吗?

c# - C# 中的 Tic Tac Toe MiniMax?

c# - 无法通过 Roslyn 检索类型信息

c# - Winform 设计器应用程序