private void ShowForm(Form form)
{
// subFormの配列をぶん回して引数のFormと一致してたら表示して、
// 一致してなかったら隠す
foreach (var f in _subForms)
{
if (f == form)
{
f.Show();
}
else
{
f.Hide();
}
}
} private void ActivateBtn(Button btn)
{
// form表示するボタンのリストをぶん回して、
// 引数のボタンを一致してたらactiveColorにして、
// 一致してなかったらdefaultColorにする
foreach (var b in _formButtons)
{
b.BackColor = b == btn ? _activeColor : _defaultColor;
}
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「リアファクタリング」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
9 件namespace FormInForm { public partial class MainForm : Form {未収録
MainFormロード時に下記コードを実行するようにする。
#c5f185b53015
private void button1_Click(object sender, EventArgs e) { HideAllForm(); form1.Show();未収録
ボタンにメソッドを追加していく
#e3ab3846c3b0
public partial class MainForm : Form { private Form form1; private Form form2;未収録
アクティブなFormのButtonの色を変える
#2a4145d317d4
private void MainForm_Load(object sender, EventArgs e) { form1 = new Form1(); form1.TopLevel = false;未収録
アクティブなFormのButtonの色を変える
#1231b8968340
private void button1_Click(object sender, EventArgs e) { form2.Hide(); form3.Hide(); form1.Show();未収録
アクティブなFormのButtonの色を変える
#87853255d4ae
private void button2_Click(object sender, EventArgs e) { form1.Hide(); form3.Hide(); form2.Show();未収録
リアファクタリング
#dca8ec96b793
