我正在尝试学习如何在AddIn中工作 . 我知道在AddIn中开发问题并不是一个好主意,但我想这样做 .
我做了一个用户控制窗口,它有2个参数(宽度和高度) . 单击按钮时,这些参数将更改用户控制窗口的大小 .
问题是,当我调用GET方法查看按钮是否被单击时,它总是返回false .
public int WindowWidth
{
get
{
return int.Parse(textBox_width.Text);
}
set
{
textBox_width.Text = value.ToString();
}
}
public int WindowHeight
{
get
{
return int.Parse(textBox_height.Text);
}
set
{
textBox_height.Text = value.ToString();
}
}
public bool ModifyIsClicked
{
get
{
return _ModifyIsClicked;
}
set
{
_ModifyIsClicked = value;
}
}
private void button_modify_Click(object sender, EventArgs e)
{
MessageBox.Show("Width " + WindowWidth + " and Height " + WindowHeight);
_ModifyIsClicked = true;
}
private bool _ModifyIsClicked;
这是验证按钮是否被单击并更改窗口大小的代码:
MainWindow mainWindow = new MainWindow();
if (mainWindow.ModifyIsClicked == true)
{
toolWin.Width = mainWindow.WindowWidth;
toolWin.Height = mainWindow.WindowHeight;
mainWindow.ModifyIsClicked = false;
}
我忘了提到上面的代码在Connect类的“public void QueryStatus”中 .
使用调试我已经看到变量_ModifyIsClicked如何变为TRUE,第二个变为“return _ModifyIsClicked;”它变成了假 .
当变量变为True
当变量变为False
2 回答
我跟别人说过话并解释了我的问题 .
我使用文本框和按钮的主要对象是在方法"Exec"中创建的 . 它's my fault because I didn' t实现了
MainWindows()
对象的创建位置 . 我坚持认为它从未创造过 .每次我点击按钮时我都会看到我的变量如何更改其值,但每个对象的变量的默认值为"false" . 所以当我创建"the first object":
MainWindow mainWindow = new MainWindow();
时,实际上我正在创建一个不同于我的工具窗口的对象 .这就是我总是得到“假”的原因 .