C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■90068 / )  ユーザーコントロールの使い方
□投稿者/ ルパン (23回)-(2019/02/04(Mon) 10:24:15)

分類:[.NET 全般] 

VisualStudio C#
Windows10
にて、
以下のようなプログラム(重要部分のみ表示)を作成しています。

フォーム上にはユーザコントロールを切り替えて表示するように
ユーザーコントロール呼び出し用のボタンがあり、
ユーザーコントロール上にはラベル、ボタン(終了)など
他に複数のコントロールが配置しています。

ユーザーコントロールのコントロールボックスの×ボタンや
終了ボタンを押した場合はlblTime.Text の値が保存されるのですが、

フォーム上のユーザーコントロール呼び出しボタンを押すと
lblTime.Text が "" になって保存されてしまいます。

どうすればよいのでしょうか?


≡呼び出し側

private void Button_Click(object sender, EventArgs e)
{
 foreach (Control cnt in pnlSub.Controls)
 {
  pnlSub.Controls.Remove(cnt);
  cnt.Dispose();
 }
 if (SelectButton == btnTime) AddUserControl(new ucTime());
}

private void AddUserControl(Control cnt)
{
 cnt.Dock = DockStyle.Fill;
 pnlSub.Controls.Add(cnt);
}

≡ユーザーコントロール
private void ucTime_Disposed(object sender, EventArgs e)
{
 Properties.Settings.Default.ucTime = lblTime.Text;
 Properties.Settings.Default.Save();
}

private void btnClose_Click(object sender, EventArgs e)
{
 this.ParentForm.Close();
}

返信 編集キー/


管理者用

- Child Tree -