C#でWindowsFormsプログラミング

C#DataGridViewの使い方と画面遷移の方法をマスターしよう!

C#入門フォーム編の第8回目は「DataGridView」と「画面遷移」です。DataGridViewは,データの一覧表示をするコントロールで本当によく使います。そして画面遷移とは,ある画面から,異なる画面を表示することです。今回はメニューから,対象の画面に遷移する方法を解説します。

解説

下記のようなメニュー画面を作成し,メニューからユーザー登録画面が起動されるようにします。

プロジェクトを右クリックし,「追加」「Windowsフォーム」を選びます。

ファイル名を「MenuForm.cs」とし,「追加」ボタンを押下します。

下記のように画面にボタンを2つ置き,プロパティを設定します
画面:Text「メニュー」
ボタン上:Name「UserSaveFormButton」,Text「ユーザー登録」,Dock「Top」
ボタンした:Name「UserListFormButton」,Text「ユーザーリスト」,Dock「Top」

ユーザー登録ボタンでダブルクリックを行い,クリックイベントを作成します。

private void UserSaveFormButton_Click(object sender, EventArgs e)
{
    using (var f = new UserSaveForm())
    {
        f.ShowDialog();
    }
}

UserSaveFormを生成し,ShowDialogで表示しています。
usingはユーザー登録画面を使用後にメモリーが解放されるように記述しています。

この状態で実行をしてもユーザー登録画面が表示され,メニューが表示されません。そのため「Program.cs」のコードを変更します。

[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new MenuForm());
}

実行するとメニューが表示され,ユーザー登録をクリックすると,ユーザー登録画面が表示されます。

一覧画面の作成

メニューと同じ要領で新しいWindowsフォームを追加して名前を「UserListForm.cs」とします。フォームのTextを「ユーザーリスト」とし,画面上に「DataGridView」コントロールを配置します。Nameは「UserDataGrid」,Dockは「Fill」とします。

MenuFormのユーザーリストボタンをクリックしたときのイベントを作成し,下記のように記述します。

private void UserListFormButton_Click(object sender, EventArgs e)
{
    using (var f = new UserListForm())
    {
        f.ShowDialog();
    }
}

これでメニューの「ユーザーリスト」をクリックするとこの画面が表示されるようになります。

WindowsFormsプログラミング