0

我正在尝试在 winform 中更新我的用户设置并在标签中查看结果(纯粹用于测试)。但是,这些值没有改变。我忘了做某事吗?

目前我正在使用以下代码获取初始值:

PortLable.Text = Settings.Default.Port;
IPLable.Text = Settings.Default.ServerAddress;

这两行保存在我的第一个 winform 的初始化程序中。这些标签显示了我在属性窗口中设置的默认值。然后在我的设置表单中,我尝试使用以下代码行使用用户值更新默认值:

private void ServerConnection_FormClosed(object sender, FormClosedEventArgs e)
{
  Settings.Default.Port = PortBox.Text;
  Settings.Default.ServerAddress = AddressBox.Text;
  Settings.Default.Save();     
}

但是,当我输入值并关闭第二个表单时,第一个表单中的值不会更新以显示这些新值。我忘了做某事吗?

4

2 回答 2

1

第一个表单上的标签不会更新。您更改 Settings.Default 对象中的变量,但它们不会传递给 PortLable.Text 和 IPLable.Text,因为它们之间没有引用。

当第一个表单重新获得控制时,尝试更新它们。

于 2013-08-23T14:01:47.177 回答
0

PortLable.Text = Settings.Default.Port;

你这样做是不对的。在设计器中选择标签并使用“属性”窗口顶部的 (ApplicationSettings) 将 Text 属性绑定到设置。现在它会一直显示设置值,你也不再需要这个语句了。

于 2013-08-23T14:05:41.537 回答