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(); } }
これでメニューの「ユーザーリスト」をクリックするとこの画面が表示されるようになります。