qwerty12 发表于 2023-11-29 22:03

winform的radiobutton判断是否选中

查了好多方法,感觉迷迷糊糊的,都不对。然后求助大佬告知一下方法,在winform中的radiobutton判断是否选中,然后需要用户选中其中一个,若都未选,则弹出提示框,告知用户信息未填写完整,有多个radiobutton控件,有没有进行一次性的判断方法呀。弄了好久了:wwqwq

qwerty12 发表于 2023-11-29 22:08

我是一个萌新,很多地方不懂,可能问的问题对大佬来说很简单,所以帮帮孩子吧

devilpanama 发表于 2023-11-29 23:45

radiobutton可以放个组里面吧

go4399 发表于 2023-11-29 23:55

在WinForms中,要判断RadioButton是否被选中,你可以检查RadioButton的Checked属性。如果Checked属性为true,则表示RadioButton被选中;如果为false,则表示未选中。

```csharp
private void button1_Click(object sender, EventArgs e)
{
    if (radioButton1.Checked)
    {
      MessageBox.Show("RadioButton 1 被选中");
    }
    else if (radioButton2.Checked)
    {
      MessageBox.Show("RadioButton 2 被选中");
    }
    else
    {
      MessageBox.Show("没有选中任何 RadioButton");
    }
}
```

如果有一个radiobutton组需要判断,也只能类似于上面这样逐一检查Checked属性。

TakeKeyEasy 发表于 2023-11-30 02:13

有个属性ischecked的吧

jidesheng6 发表于 2023-11-30 07:05

raidbutton如果是放在一个groupbox里面的时候winform自己会处理的,不管有几个都只能选选一个,只需要判断需要的button的check状态,就可以了,两个以上就多个if条件,如果button很多还是遍历controls过滤出所有raidbutton来判断状态吧,不过和多写点ifelse差不多了。

tanjiang 发表于 2023-11-30 07:12

举例:选择性别的时候可以这样 Gender=this.rdoMale.Checked?"男":"女"      

Broadm 发表于 2023-11-30 10:26

本帖最后由 Broadm 于 2023-11-30 10:33 编辑

https://z1.ax1x.com/2023/11/30/pirEunK.png
using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApp
{
    public partial class Form1 : Form
    {
      private readonly GroupBox groupBox = new GroupBox();

      public Form1()
      {
            InitializeComponent();

            for (int i = 0; i < 3; i++)
            {
                var rb = new RadioButton()
                {
                  Text = "名称" + i,
                  Margin = new Padding(8, 30 * i, 0, 0),
                  Top = 15 + 30 * i,
                  Left = 15,
                };
                groupBox.Controls.Add(rb);
            }


            var button = new Button() { Text = "检测选中项", Left = 300 };
            button.Click += Button_Click;

            this.Controls.Add(groupBox);
            this.Controls.Add(button);
      }

      private void Button_Click(object sender, EventArgs e)
      {
            var checkedRadioButton = (from RadioButton r in groupBox.Controls where r.Checked select r).FirstOrDefault();
            if (checkedRadioButton == null)
            {
                MessageBox.Show("请选择一个");
                return;
            }
            MessageBox.Show("您选择的是:" + checkedRadioButton.Text);
      }

      private void Form1_Load(object sender, EventArgs e)
      {

      }
    }
}

qwerty12 发表于 2023-11-30 14:06

TakeKeyEasy 发表于 2023-11-30 02:13
有个属性ischecked的吧

没有呢,当时我在网上搜他们说的这个,然后试了没有,当时他们还说用radiobuttonList,但是winform里面没有这个

qwerty12 发表于 2023-11-30 14:11

go4399 发表于 2023-11-29 23:55
在WinForms中,要判断RadioButton是否被选中,你可以检查RadioButton的Checked属性。如果Checked属性为true ...

昨天试了一个,先定义一个字符串赋空值,然后判断是否被选中,若选中就将radiobutton的值赋给定义的字符串,这一个问题卡了我两个多小时,我人傻了
页: [1] 2
查看完整版本: winform的radiobutton判断是否选中