|
■No102731 (cury さん) に返信
> Visual Stadio2022を使用してC#でWindowsアプリを作成しています
>
> 質問なのですが、親画面から子画面を開いて子画面でDB更新を行い
> 子画面を閉じた時に、呼び出し元の親画面に更新されたデータが反映させるには、
> どうやって実装すればよろしいでしょうか?
>
> どなたかご存知の方よろしくお願いします
WinForm、.NETFramework4.8
子画面から親画面に情報を渡す方法が
わからないと仮定して回答します。
外れていたらすみません。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (var f = new Form2())
{
var ret = f.ShowDialog();
if(ret == DialogResult.OK)
{
//子画面にてDB更新ボタンが押された場合
var result = f.result;
}
else
{
//子画面にて閉じるボタンが押された場合
}
}
}
}
public partial class Form2 : Form
{
public List<string> result { get; set; } = new List<string>();
public Form2()
{
InitializeComponent();
DialogResult = DialogResult.None;
}
private void button1_Click(object sender, EventArgs e)
{
//DBへの更新処理
//更新結果を取得
var list = new List<string>();
list.Add("aaaa");
list.Add("bbbb");
list.Add("cccc");
//更新結果をセット
result = list;
//OKをセット
DialogResult = DialogResult.OK;
}
}
|