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

无法隐式转换bool到RadioButton:跨Form传递单选框状态问题

解决“无法隐式转换类型‘bool’到‘System.Windows.Forms.RadioButton’”错误

错误原因

你试图将bool类型的变量male直接赋值给RadioButton控件maleGender_rb1,这属于类型不匹配——RadioButton是控件对象,不能直接用布尔值赋值,需要通过控件的Checked属性来设置选中状态。

修正代码

Form2 修正后的代码:

public partial class Form2 : Form
{
    public bool male { get; set; }

    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        // 将bool值赋值给单选按钮的Checked属性,控制是否选中
        maleGender_rb1.Checked = male;
        // 如果有对应的女性单选按钮,可添加反选逻辑
        // femaleGender_rb2.Checked = !male;
    }
}

Form1 传递单选状态到Form2的示例:

// 假设Form1中有male_rb(男性单选按钮)和打开Form2的按钮
private void OpenForm2Button_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    // 将Form1中单选按钮的选中状态传给Form2的male属性
    form2.male = male_rb.Checked;
    form2.Show();
}

逻辑说明

  1. 在Form1中获取单选按钮的Checked状态(布尔值),传递给Form2的male属性;
  2. Form2加载时,把male的布尔值赋值给自身单选按钮的Checked属性,即可正确显示Form1的单选结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:50:43