1

我的应用程序是 Windows 窗体(VS2010 C#);我在表格的开头设置了一个双变量:

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

变量不会改变自己。所以有两种可能:

  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
}

现在您应该在任何更改值的代码处自动停止

于 2012-10-27T22:50:45.897 回答