从按钮单击方法调用私有无效函数

Calling a private void function from a button click method

我正在尝试通过按钮单击方法调用私有 void 函数。 selectedChoice 的值是从 combo box 中获取的。我调试并发现 selectedChoice 的值被正确获取,它甚至进入按钮单击方法中的 If 条件。只是函数没有被调用。

每个方法都在 class 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"

 ==

运算符不得用于字符串。此运算符将检查元素的 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();

        }
    }