1

私のアプリケーションは Windows フォーム (VS2010 C#) です。フォームの先頭に double 変数を次のように設定します。

private double Wwidth;

次に、ファイルを開くときにその値を変更します。

 Wwidth = image.WindowWidth;

Wwdith の値は です265.0。トラックバーを選択すると、

private void tbrWidth_Scroll(object sender, System.EventArgs e)
        {
            double newWidth = tbrWidth.Value;
            double wd = Wwidth - newWidth;
...}

Wwdith の値は0.0?に変わります。

助言がありますか。前もって感謝します。

4

1 に答える 1

4

変数はそれ自体を変更しません。したがって、2つの可能性があります。

  1. 忘れてしまったコードの一部が変更されました
  2. それは別のインスタンスです

2を除外するには、次のように記述します(2つの場所に):

Debug.WriteLine(
    System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(this));

両方の場所から同じ番号が印刷されている場合は、おそらく同じインスタンスにいます。1を除外するには-それを変更し、ブレークポイントを入れます:

private double _wwidth;
private double Wwidth {
    get { return _wwidth; }
    set { _wwidth = value; } // <==== put a breakpoint here
}

これで、値を変更しているコードで自動的に停止する必要があります

于 2012-10-27T22:50:45.897 に答える