我正在开发一个用户管理系统,我想在其中重新使用“添加用户”表单的“编辑用户”表单的 GUI,这仅更改一些功能。
例如,在我的“添加用户”中,“用户 ID”设置为下一个可用 ID,“用户名”、“密码”、“确认密码”和“组”留空。有一个“添加用户”按钮,可以对上述字段执行验证,表单的标题是“添加用户”
编辑用户需要更改的只是填写正在编辑的用户的数据(从我的 DataGridView 获取 DataRow 不是问题)并将“添加”按钮更改为“编辑用户”按钮,同时仍然执行相同的验证,并将表单的标题更改为“编辑用户”。
这样的事情可能吗?这种类型的使用应该被称为什么,以便我可以更有效地用谷歌搜索它?
最佳答案
这绝对是可能的,而且一直都是这样做的。当您实例化添加表单时,您通常会执行如下操作:
using (AddUserForm form = new AddUserForm())
{
form.ShowDialog();
}
如果您想编辑用户:
using (AddUserForm form = new AddUserForm(user))
{
form.ShowDialog();
}
请注意,您将有两个表单构造函数。在 AddUserForm(您实际上应该将其称为 ModifyUserForm 或 UserForm)的代码中,如果用户为 null,则执行 Add(),如果用户不为 null,则执行 Update()。
构造函数示例:
public AddUserForm()
{
this._user = new User();
}
public AddUserForm(User user)
{
this._user = user;
}
然后保存:
private void SaveUser()
{
if (this._userId == 0)
{
MyDal.AddUser(this._user);
return;
}
MyDal.UpdateUser(this._user);
}
我在没有 Visual Studio 的情况下完成了这一切,所以我不保证它可以编译。 :)
关于c# - 重新利用现有的 GUI,同时保留大部分相同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300530/