You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Form1文本框中显示Form2分组框内选中的单选按钮内容

解决方案

要实现将Form2分组框中选中的单选按钮内容显示到Form1的文本框,你需要调整两个窗体的代码逻辑,核心是先让用户在Form2中完成选择,再获取选中项的文本,同时遍历分组框内的单选按钮找到选中项。

步骤1:修改Form2代码

添加一个方法,用于遍历分组框内的所有单选按钮,返回选中项的文本:

// 假设你的分组框控件名为groupBox1,可根据实际名称修改
internal string GetSelectedRadioText()
{
    foreach (Control control in groupBox1.Controls)
    {
        // 判断当前控件是单选按钮且已选中
        if (control is RadioButton selectedRadio && selectedRadio.Checked)
        {
            return selectedRadio.Text;
        }
    }
    // 无选中项时返回空字符串
    return string.Empty;
}

同时,建议给Form2添加“确定”和“取消”按钮:将“确定”按钮的DialogResult属性设为OK,“取消”按钮的DialogResult设为Cancel。这样用户点击确定时,Form2会关闭并返回确认状态,Form1就能识别用户完成了选择。

步骤2:修改Form1代码

调整按钮点击事件,先显示Form2让用户选择,关闭后再获取选中的文本:

public void button5_Click(object sender, EventArgs e)
{
    using (Form2 fr2 = new Form2())
    {
        // 以对话框形式显示Form2,等待用户操作
        if (fr2.ShowDialog() == DialogResult.OK)
        {
            // 获取Form2中选中的单选按钮文本,赋值给文本框
            textBox1.Text = fr2.GetSelectedRadioText();
        }
    }
}

原代码问题说明

你之前的代码存在两个关键问题:

  • 直接new Form2()后立即调用方法,此时Form2还未显示,用户没有机会选择单选按钮,获取到的是控件默认状态的文本;
  • 仅传入了单个radioButton1,无法检测另外两个单选按钮的选中状态。

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:31:06