2

いくつかの機能を変更するだけで、[ユーザーの編集] フォームの [ユーザーの追加] フォームの GUI を再利用したいユーザー管理システムを開発しています。

たとえば、ユーザーの追加では、ユーザー ID は次に使用可能な ID に設定され、ユーザー名、パスワード、確認パスワード、およびグループは空白のままです。上記のフィールドで検証を実行する [ユーザーの追加] ボタンがあり、フォームのタイトルは「ユーザーの追加」です。

ユーザーを編集するために変更する必要があるのは、編集中のユーザーからデータを入力し (DataGridView から DataRow を取得することは問題ではありません)、同じ検証を実行しながら [追加] ボタンを [ユーザーの編集] ボタンに変更することだけです。フォームのタイトルを「ユーザーの編集」に変更します。

そのようなことは可能ですか?より効率的にグーグル検索できるようにするには、このタイプの使用を何と呼びますか?

4

1 に答える 1

4

これは絶対に可能であり、常に行われています。追加用にフォームをインスタンス化するときは、通常、次のようにします。

using (AddUserForm form = new AddUserForm())
{
  form.ShowDialog();
}

ユーザーを編集する場合は、次のようにします。

using (AddUserForm form = new AddUserForm(user))
{
  form.ShowDialog();
}

フォームには 2 つのコンストラクターがあることに注意してください。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 を使用せずに行ったので、コンパイルできるとは限りません。:)

于 2012-04-25T00:03:57.460 に答える