0

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

我的 Windows Form Aplication 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";
            }

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

4

2 回答 2

0

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

if ((comboBox1.SelectedItem.ToString() == "optionA") && (textBox1.Text == "40"))
{
    [your code you want to be conditionally run]
}
于 2013-10-04T17:32:47.847 回答
0

if你的说法有两点错误:

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

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

你可以这样工作:

if (comboBox1.SelectedItem.ToString() == "optionA" && textBox1.Text == "40")
{
    label3.Text = "40A";
    label4.Text = "A40";
}
于 2013-10-04T17:31:38.780 回答