2012-10-27 31 views
1

我的應用程序是Windows窗體(VS2010 C#);雙c#值在windows窗體中更改爲0.0

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

有任何建議。提前致謝。

+3

你確定這是不是一個新的**實例**(或只是:不同的實例)該類型的表單? –

+0

請提供關於'Wwidth'的更多信息,以便於解決問題:) –

+0

@ user373721查找所有Wwidth的用法,並驗證是否有其他地方修改它 –

回答

4

變量不會自行更改。因此,有兩種可能性:

  1. 一些代碼位你忘記改變了它
  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 
} 

現在你應該在這種情況正在改變價值的任何代碼自動停止

+0

非常感謝您的回答。它正在工作。 – hncl