ComboBox1优先于单选按钮
本文关键字:单选按钮 优先于 ComboBox1 | 更新日期: 2023-09-27 18:26:04
无论我是先检查单选按钮,还是先检查组合框项目,我如何使其始终有效?目前,只有先选中单选按钮,它才能工作。非常感谢。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if ( comboBox1.Text == "Test1" && radioButton1.Checked)
{
StreamReader sr = new StreamReader(@"my path");
string str = sr.ReadToEnd();
textBox1.Text = str;
}
}
我猜此事件仅与组合框事件关联。您需要将此代码移动到一个通用函数中,并从ComboBoxSelectedIndexChanged事件和radiobuttons changed事件中调用它。
如果您希望测试为true,无论组合框文本是"Test1"还是选中了readio按钮,您都需要使测试为OR而不是AND,如下所示:
if ( comboBox1.Text == "Test1" || radioButton1.Checked)
如果两个条件都需要为真,请尝试以下(伪代码):
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (ConditionFulfilled)
{
readThatPuppy();
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (ConditionFulfilled)
{
readThatPuppy();
}
}
private bool ConditionFulfilled()
{
return (comboBox1.Text.Equals("Test1") && radioButton1.Checked;
}
private void readThatPuppy()
{
StreamReader sr = new StreamReader(@"my path");
string str = sr.ReadToEnd();
textBox1.Text = str;
}
只有在选中单选按钮时才起作用的原因是,您的事件处理程序中存在此条件。
试试下面的方法,看看它是否符合你的要求。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if ( comboBox1.Text == "Test1" || radioButton1.Checked)
{
StreamReader sr = new StreamReader(@"my path");
string str = sr.ReadToEnd();
textBox1.Text = str;
}
}