【问题标题】:C# WFA VSTUDIO2012 Looking for something like "if combobox & textbox then"C# WFA VSTUDIO2012 寻找类似“if combobox & textbox then”之类的东西
【发布时间】:2013-10-04 17:22:23
【问题描述】:

我只用了几个月的 c#,我做了一些小程序,但现在我想做一些更大的事情,问题是我实际上没有做过任何课程/培训,只是学习位在这里和那里得到了。 我在这个网站和其他网站上进行了很多搜索,谷歌和必应等 但他们都指向我不同的东西(或者我相信)所以这是我的问题

我的 Windows 窗体应用程序上有 1 个包含 3 个条目的组合框 1 个文本框 和 2 个标签(可能是文本框,但我更喜欢 WFA 上的外观)

我在正在运行的应用程序中寻找的是,我想选择一个组合框选项,然后在文本框中输入一个值 例如,组合框到“optionA”文本框到“40”,然后将标签更改为预定文本。 因此,如果 combobox = optionA 并且 textbox = 40 则更改标签,否则标签是清晰的。

我试过了

if (comboBox1.SelectedItem.ToString() == "optionA") && (textBox1.Text = "40")
            {
                label3.Text = "40A";
                label4.Text = "A40";
            }

但是我得到了各种各样的错误。 任何帮助将不胜感激,我保证有一天会上课 如果您需要更多信息,请询问,我会尽力提供。

【问题讨论】:

  • 欢迎来到 StackOverflow。 “我得到各种错误”不是问题描述。你知道错误是什么;他们就在你面前。绝对没有理由不提供它们,因此我们也可以看到它们。如果您需要帮助,请在提问时具体
  • 抱歉,Ken,我还在工作,也在写我的问题时,我没有随身携带个人笔记本电脑,所以我写下了我记忆中的东西,不幸的是我不能不记得问题。下次我会提供尽可能多的信息。我将尝试下面给出的一些建议。感谢您的沟通。

标签: c# winforms if-statement combobox textbox


【解决方案1】:

您的if 声明有两点错误:

  1. 整个条件表达式必须用括号括起来。

  2. 您将值“40”分配给textBox1.Text,而不是比较内容。

你的可能应该是这样的:

if (comboBox1.SelectedItem.ToString() == "optionA" && textBox1.Text == "40")
{
    label3.Text = "40A";
    label4.Text = "A40";
}

【讨论】:

    【解决方案2】:

    这不是 C# 的正确语法。您编写的 if 语句仅适用于表达式的前半部分 - 让后半部分混淆编译器,因为它不是任何期望真/假值的部分。您需要在整个表达式周围加上一组括号,因此这两个部分都被解释为 if 语句的一部分。您还需要在 'and' 之后的表达式中使用双等号 - 使用单等号表示“将 textBox1.Text 设置为 40”,这将始终为真(并且会产生不希望的副作用)。像这样:

    if ((comboBox1.SelectedItem.ToString() == "optionA") && (textBox1.Text == "40"))
    {
        [your code you want to be conditionally run]
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 2016-02-15
      相关资源
      最近更新 更多