【问题标题】:How can I get the true value?我怎样才能得到真正的价值?
【发布时间】:2021-07-10 13:22:33
【问题描述】:

这是所有代码:

private void button1_Click(object sender, EventArgs e)
{
    foreach (Control control in groupBox1.Controls)
    {
        MessageBox.Show(control.ToString());
    }
}

我只想获取true 值 但是没有Checked。 我怎样才能得到真正的价值? 如何获取每个索引?

【问题讨论】:

  • 什么是“真正的价值”?你期待什么结果,你实际得到什么
  • 尝试将其投射到收音机上。基础 Control 类没有选中的属性。
  • 首先将其转换为 RadioButton,您的 MessageBox 已经说明了它是什么类型的控件
  • 控制就是控制它可以是任何东西。它不能被选中或取消选中。您应该过滤以仅获取 RadioButton。使用类型单选按钮
  • @HimBromBeere: control.ToString() 包含屏幕截图中显示的文本,包括“Checked”值(在示例中恰好是 True)。他们只需要该检查值,但找不到 Checked 属性(因为尚未强制转换控件)。最简单的解决方案可能是groupBox1.Controls.OfType<RadioButton>(),但我会让其他人把它写下来并收集代表。 :-)

标签: c# groupbox


【解决方案1】:

现在,您拥有所有控件,这就是为什么它们是类型控制的,而您在编译时不知道它们是什么。

确保您只获得RadioButton 类型的那些:

private void button1_Click(object sender, EventArgs e)
{
    foreach (RadioButton radioButton in groupBox1.Controls.OfType<RadioButton>())
    {
         MessageBox.Show(radioButton.Checked.ToString());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-05
    • 2021-06-07
    • 1970-01-01
    • 2022-12-09
    相关资源
    最近更新 更多