重新使用现有的GUI,同时保留大部分相同的功能

时间:2012-04-24 14:56:44

标签: c# winforms oop

我正在开发一个用户管理系统,我想在其中重新使用GUI来编辑“编辑用户”表单的“添加用户”表单,只需更改一些功能。

例如,在我的添加用户中,用户ID设置为下一个可用ID,用户名,密码,确认密码和组保留为空。有一个添加用户按钮,对上述字段执行验证,表单标题为“添加用户”

编辑用户需要更改的全部内容是填写正在编辑的用户的数据(从我的DataGridView获取DataRow不是问题)并在执行时仍将“添加”按钮更改为“编辑用户”按钮相同的验证,并将表单的标题更改为“编辑用户”。

这样的事情可能吗?这种类型的使用会被调用,以便我可以更有效地进行谷歌搜索?

1 个答案:

答案 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的情况下完成了这一切,所以我不保证它会编译。 :)