1

为什么这不起作用:

            if (This_Ver.Text == New_Ver.Text)
            {
                MAIN_PANEL.Visible = true;
            }
            else if (This_Ver.Text != New_Ver.Text)
            {
            DialogResult dialogResult = MessageBox.Show("An update has been found!" + Environment.NewLine + "Would you like to download and install it?", "Update found!", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (dialogResult == DialogResult.Yes)
            {
                MAIN_PANEL.Visible = false;
                UPDATE_PANEL.Visible = true;
                USERNAME_TEXT.Enabled = false;
                PASSWORD_TEXT.Enabled = false;
                LOGIN_BUTTON.Enabled = false;
                MAIN_PANEL.Visible = false;
                UPDATE_NOW_BUTTON.Enabled = true;
            }
            else if (dialogResult == DialogResult.No)
            {
                UPDATE_NOW_BUTTON.Enabled = true;
                MAIN_PANEL.Visible = true;
            }
        }

我正在尝试比较新版本和当前运行的版本。当文本框不包含相同版本时,它应该打开更新程序面板。

但它不起作用。它总是打开更新程序面板。

编辑 :

值:This_Ver.Text:V1.1.13.1

值:New_Ver.Text:V1.1.13.1

4

3 回答 3

2

试试下面可能对你有帮助..

更改您的代码

从 :

if (This_Ver.Text == New_Ver.Text)

至 :

if (This_Ver.Text.ToUpper().Trim().Equals(This_Ver.Text.ToUpper().Trim()))
于 2013-04-12T10:52:43.890 回答
1

尝试这样的事情

string value1 = This_Ver.Text.Trim();
string value2 = New_Ver.Text.Trim();
if(value1  == value2 )
 {
   //hide your panel
 }
 else
 {
    // code something
 }

如果值匹配,则隐藏,否则将转到else您执行一些逻辑代码的部分。

Aslo 想知道你在调试时得到value1,value2什么IF Condition

于 2013-04-12T10:40:06.887 回答
0

您必须使用 (This_Ver.Text.Equals(New_Ver.Text)) 因为 == 比较器不起作用。与 Java 中一样,== 比较器进行对象引用比较。相反,Equals 方法比较字符串内容。

祝你好运。

于 2013-04-12T10:40:03.387 回答