我正在尝试通过按钮click方法调用私有void函数。从组合框中提取selectedChoice的值。我调试后发现,selectedChoice的值已正确获取,甚至在按钮click方法内的If条件内。只是函数没有被调用。
每个方法都在类Form1内。
namespace Test
{
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
if(selectedChoice == "ABC")
{
Function1();
Function2();
}
组合框代码-
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(comboBox1.SelectedIndex!=0)
{
selectedChoice = comboBox1.SelectedItem.ToString();
}
}
我尝试调用的函数简单定义为
private void Function1()
{
//do something
}
您正在尝试执行比较操作
selectedChoice == "ABC"
the
==
运算符不得用于字符串。该运算符将检查元素的ID和比较器的ID是否相等。请使用
selectedChoice.Equals("ABC")
相反。
尽管如此,使用此代码调用了方法:
private string selectedChoice = "ABC";
private void button1_Click(object sender, EventArgs e)
{
if(selectedChoice.Equals("ABC"))
{
Function1();
Function2();
}
}
private void Function2()
{
}
private void Function1()
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(comboBox1.SelectedIndex!=0)
{
selectedChoice = comboBox1.SelectedItem.ToString();
}
}