吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 580|回复: 2
收起左侧

[学习记录] vs groupBox容器内多个单选框的选择状态

[复制链接]
lookat 发表于 2023-8-15 03:31
本帖最后由 lookat 于 2023-8-15 03:36 编辑

我忘了为啥要写这个了,好像是因为当时不知道怎么样用方法获取选择状态就写了个这个(但.....直接点击事件就好了啊),要是有知道怎么获取groupBox容器内指定模块的属性值可以发一下。
[C++] 纯文本查看 复制代码
//容器内的数量
int groupBox1Count = groupBox1.Controls.Count;

//键值对    格式限制   文本,文本
Dictionary<string, string> dic = new Dictionary<string, string>();

//for循环赋值
for (int bb = 0; bb < groupBox1Count; bb++)
{
      //添加键值对
      dic.Add(groupBox1.Controls[bb].Text, groupBox1.Controls[bb].ToString().Replace("System.Windows.Forms.RadioButton,", "").Split(":")[1]);
}

//获取"麦克风"键的"值"
textBox3.Text = dic["麦克风"];

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pjy612 发表于 2023-8-15 11:15
本帖最后由 pjy612 于 2023-8-15 11:31 编辑


一般 winform 不是直接根据 控件ID获取吗?
还是说 你的 groupBox1 里面的 组件是 后台代码生成后 画上去的?
有必要可以过滤子控件然后用类型 去筛选 里面的单选框

[C#] 纯文本查看 复制代码
private void button1_Click(object sender, EventArgs e)
        {
            List<RadioButton> radios = groupBox1.Controls.Cast<Control>().Where(r=>r is RadioButton).Cast<RadioButton>().ToList();
            RadioButton button = radios.FirstOrDefault(r=>r.Checked);
            if (button != null)
            {
                MessageBox.Show($@"check Radio Name is {button.Name} ,Text is {button.Text}");
            }
        }
 楼主| lookat 发表于 2023-8-15 17:47
pjy612 发表于 2023-8-15 11:15
一般 winform 不是直接根据 控件ID获取吗?
还是说 你的 groupBox1 里面的 组件是 后台代 ...

谢谢,很有用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表