【发布时间】:2016-03-11 21:28:58
【问题描述】:
我对编程很陌生,如果这很简单,我很抱歉,但我可能只是错过了明显的东西!我有以下表单,它会在加载时从存储在 INI 文件中的设置自动填充:
整个表格就像我希望它从一个小部分中分离出来一样工作。 “关闭”按钮当前只是关闭表单,因此如果自加载表单后文本框中的任何值发生更改,则更改将丢失。我想改为提示用户使用“保存”按钮,否则更改将丢失。
我一直在尝试在我的关闭按钮上按照这些行做一些事情,其中文本框的值与它们最初填充的变量值进行检查:
private void btnClose_Click(object sender, EventArgs e)
{
if (txtName.Text != name || txtSchName.Text != schname || txtServer1.Text != svr1 etc etc etc)
{
Warn User changes will be lost, ask user if really OK to close?
if (User chooses to to close)
{
this.Close();
}
else
{
Go back to the config form;
}
}
else
{
this.Close();
}
拥有超过 21 个文本字段,我不确定这是否是检查更改的最“整洁的方式”?任何指针将不胜感激。
【问题讨论】:
-
Winforms? WPF?还有什么?
-
如果你正确使用数据绑定而不是摆弄
TextBox.Text,detecting a "dirty form" is trivial。 -
@UweKeim 看起来像 WinForms,但它可能是别的东西
-
对不起,我正在使用 Winforms。
-
您可以使用属性绑定到应用程序设置。您可能会发现 this post 很有帮助。