我正在开发一个用户管理系统,我想在其中重新使用GUI来编辑“编辑用户”表单的“添加用户”表单,只需更改一些功能。
例如,在我的添加用户中,用户ID设置为下一个可用ID,用户名,密码,确认密码和组保留为空。有一个添加用户按钮,对上述字段执行验证,表单标题为“添加用户”
编辑用户需要更改的全部内容是填写正在编辑的用户的数据(从我的DataGridView获取DataRow不是问题)并在执行时仍将“添加”按钮更改为“编辑用户”按钮相同的验证,并将表单的标题更改为“编辑用户”。
这样的事情可能吗?这种类型的使用会被调用,以便我可以更有效地进行谷歌搜索?
答案 0 :(得分:4)
这绝对是可能的,而且它一直都在做。当您为添加实例化表单时,通常会执行以下操作:
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的情况下完成了这一切,所以我不保证它会编译。 :)