Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9707

【C#】親Formを最新の状態に更新する

$
0
0
前提条件 ・メイン画面(MainForm)、親画面(ParentForm)、子画面(ChildForm)という3種類のFormがある。 ・メイン画面を閉じると、アプリケーション自体が終了する。 ・親画面には、開いた時から、DBから取得したデータが表示されている。 ・子画面からは、親画面に表示されている情報に対して変更を加えることができる。 ・メイン画面には、親画面を開くボタンを設置している。 ・親画面には、子画面を開くボタンを設置している。 実現すること 子画面を閉じると、親画面に表示されているデータが最新のものに更新される。 方法1 DBから最新のデータを取得し直し、DataGridViewのDataSourceを上書きする。 親画面のボタンクリック時 ParentForm.cs private void OpenChildBtn_Click(object sender, EventArgs e) { //子画面を開く new ChildForm().ShowDialog(); //子画面が閉じられたら、表示データを更新する DataTable dt = SqlManager.GetData(); dataGridView1.DataSource = dt; } 方法2 現在開いている画面(ParentFormインスタンス)を閉じ、新しい画面(ParentFormインスタンス)を開く。 この時、先に開いていたParentFormと同じ位置に新しいParentFormを表示することで、 あたかも元の画面が更新されたかのように見せる。 方法1で対応できない場合に使用。 方法1と異なるのは、TextBoxに入力されていた値等もすべて消え、完全に初期状態に戻る点。 親画面のボタンクリック時 ParentForm.cs private void OpenChildBtn_Click(object sender, EventArgs e) { //子画面を開く new ChildForm().ShowDialog(); //子画面が閉じられたら、自分自身を閉じる this.Close(); //閉じた自分自身の表示位置(x座標,y座標)を取得する Point currentLocation = this.Location; //新しい親画面を開く ParentForm newParentForm = new ParentForm(); newParentForm.Show(); //新しい親画面を閉じた画面と同じ位置に表示する newParentForm.Location = currentLocation; } 以上

Viewing all articles
Browse latest Browse all 9707

Trending Articles