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ロジックコードを実行する部分に移動します。

また、デバッグ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 に答える