私は、バグかどうかわからない、または私がWinFormsを初めて使用してから忘れてしまったものであるかどうかわからない本当に奇妙な状況があります。ここでMDI子フォームがWinFormsの親フォームに適合しない
は何が起こるかです:
1)私はホームページロード私のアプリケーションを起動します。
2)私は "証券管理" をクリックしますが、最初の時間クリックすると、タブフォームレイアウトコントロールが表示されません。
3)私は家に帰り、「在庫管理」をもう一度クリックします。今回は、タブコントロールのレイアウトを示します。ここで
private void btnStockManagement_Click(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
{
if (f.GetType() == typeof(frmStockManagement))
{
f.Activate();
return;
}
}
Form frm = new frmStockManagement();
frm.MdiParent = this;
frm.Show();
}
私は子フォームOn_Load
イベントに使うコードです:どうすればよい
public partial class frmStockManagement : Form
{
public frmStockManagement()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.ControlBox = false;
this.WindowState = FormWindowState.Maximized;
this.BringToFront();
}
}
ここ
は、私は「証券管理」On_Click
イベントのために使用するコードです私は最初に適切に表示する子フォームを取得しますか?
※初回*(「表示」の単語が欠落しています)は、['Shown']を使用して取得します(https://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown( v = .110).aspx)イベントをwinformsに挿入します。おそらく間違ったイベント(コンストラクタ?)を使用しています。 – Sinatr
もう少し追加することができますか?私はこれに真剣に取り組んでいます。だから私は表示されたイベントを追加する必要がありますか? – Justin
あなたは[more](https://msdn.microsoft.com/en-us/library/86faxx0d(v = vs.110).aspx)を読む必要があります(重要です)。あなたのコードで 'OnLoad'が表示されたら、[' OnShown'](https://msdn.microsoft.com/en-us/library/system.windows.forms.form.onshown(v = vs.110))を上書きしてみてください。 aspx)代わりに。 – Sinatr