簡體   English   中英

MDI子窗體不適合WinForms中的父窗體

[英]MDI Child Form not fitting into parent form in WinForms

我有一個非常奇怪的情況,我不確定這是bug還是因為我是WinForms的新手而忘記了做。

這是發生了什么:

在此處輸入圖片說明

1)我啟動加載主頁的應用程序:

2)我單擊“ 庫存管理 ”,但是第一次單擊它不會顯示“選項卡”表單布局控件。

3)我單擊返回首頁,然后再次單擊“ 庫存管理 ”。 這次它顯示了選項卡控件的布局。

這是我用於“ 庫存管理On_Click事件的代碼:

        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();
    }
}

我如何使“兒童”表單在第一次正確顯示?

看來這個問題是個錯誤。

此錯誤的條件:

  • FormBorderStyle設置為none
  • FormBorderStyle設置為none
  • 添加到子窗體的控件,例如“ Tab Control或“ Buttons (在各個角落放置按鈕以查看窗體是否正確加載。第一次加載時應看到窗體的一部分缺失

解決這個問題的工作,我發現是設置孩子FormBorderStyle到任何東西,但none和設置ControlBox ,以false ,使控制盒不會在父MDI形式出現。

希望這對其他人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM