gpt4 book ai didi

winforms - 如何在Windows窗体中检查单选按钮是否被选中

转载 作者:行者123 更新时间:2023-12-02 19:28:36 26 4
gpt4 key购买 nike

我的表单中有 3 对单选按钮,我想检查每组单选按钮,当用户按下保存按钮时,会检查一个单选按钮。我使用下面的代码来检查每个单选按钮,但我认为这是一种更好的检查方法。

if (radioBttnAddrssCoYes.Checked || rdoBttnAddCorrectNo.Checked)
{
if (rdoGroundFloorTrue.Checked || radioGroundFFalse.Checked)
{
if (rdoHomeTrue.Checked || radioMeet.Checked)
{
// Here I do something
}
else
{
MessageBox.Show("Please check Customer All day At Home");
}
}
else
{
MessageBox.Show("Please Check Ground Floor Delivery");
}
}
else
{
MessageBox.Show("Check Addresss Correct");
}

Below is my form for better understanding

感谢您的支持和帮助

最佳答案

我可能会做一些不同的事情,但这并不意味着你的方法是错误的。

if(VaildateRadioGroupIsChecked(radioBttnAddrssCoYes, rdoBttnAddCorrectNo, "Check Addresss Correct") && 
VaildateRadioGroupIsChecked(rdoGroundFloorTrue, radioGroundFFalse, "Please Check Ground Floor Delivery") &&
VaildateRadioGroupIsChecked(rdoHomeTrue, radioMeet, "Please check Customer All day At Home"))
{
// do your thing...
}

private bool VaildateRadioGroupIsChecked(RadioButton a, RadioButton b, string MessageToUser)
{
if(!a.Checked && !b.Checked) {
Messagebox.Show(MessageToUser);
return false;
}
return true;
}

当然,您可以进一步开发它,而不是将 2 个单选按钮发送到该函数,但它包含元素。这样,如果您有 3、4 或 n 个单选按钮,您可以通过一个简单的调用检查所有这些按钮。

验证单选框是否被选中的另一个众所周知的技术是简单地在表单级别上保存一个 bool 变量,该变量默认为 false,并在选中任何单选按钮时更改为 true。然而,在这种情况下,这种技术不会很好地为您服务,因为您将需要 3 个 bool 变量,并且与其他解决方案相比,代码将变得不必要的复杂。

为了回答您在评论中的问题,我可能会这样做:

string MessageToUser = VaildateRadioGroupIsChecked(radioBttnAddrssCoYes, rdoBttnAddCorrectNo, "Check Addresss Correct") + 
VaildateRadioGroupIsChecked(rdoGroundFloorTrue, radioGroundFFalse, "Please Check Ground Floor Delivery") +
VaildateRadioGroupIsChecked(rdoHomeTrue, radioMeet, "Please check Customer All day At Home");

if(MessageToUser.Length == 0) {
// do your stuff
} else {
Messagebox.Show(MessageToUser);
}

private string VaildateRadioGroupIsChecked(RadioButton a, RadioButton b, string MessageToUser)
{
if(!a.Checked && !b.Checked) {
return MessageToUser + "\n";
}
return string.Empty;
}

关于winforms - 如何在Windows窗体中检查单选按钮是否被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23262094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com