2016-09-14 6 views
1

私はボーダーがないカスタムウィンドウフォームを持っています。私はそのカスタムフォームを子フォームに適用します。私はまた、境界線も持たないカスタムMDIParent Formを持っています。だから、私の問題は、子フォームを最大化し、上端の境界線がMDIFormの外に出ているので、どうすればこの問題をC#で管理し解決できるかです。 See my snapshot for more detail of my problemカスタムMDIFormの上端から最大化ボタン付きボーダーを削除します。ボーダーの少ない子フォームをボーダーで管理する方法は、C#のMDIフォームよりも少ないですか?

答えて

-1

私はあなたが子フォームを呼び出しているかわからないけど、ここでは一例です:

private void Button1_Click(object sender, EventArgs e) 
{ 
    var myForm = new MyCustomForm(); 
    myForm.MdiParent = this; 
    myForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; //this should hide the border even when it is maximized. 
    myForm.Show(); 
} 

OR、あなたは「最大化」イベントをキャプチャし、もう一度確認します独自の方法でそれをオーバーライドすることができます

private void MaximizeWindow() 
{ 
    var rectangle = Screen.FromControl(this).Bounds; 
    this.FormBorderStyle = FormBorderStyle.None; 
    Size = new Size(rectangle.Width, rectangle.Height); 
    Location = new Point(0, 0); 
    Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea; 
    this.Size = new Size(workingRectangle.Width, workingRectangle.Height); 
} 

と最大化イベントをキャプチャする:そこには国境はありません

private void Form1_Resize (object sender, EventArgs e) 
{ 
    if (Form1.WindowState == FormWindowState.Maximized) 
    { 
     // Do some stuff 
    } 
} 

S ources:

からHow to show a child form within a mdi container form which its windowstate= maximized?

からRemove the title bar in Windows Forms

+0

おかげKeyur、しかし、あなたのコードは私のために働いていません。 – Hardik

+0

子要素の罫線をどのように削除するか尋ねてもよろしいですか?どのようなメソッドを使用しましたか、いくつかのコードスニペットは上手くいくでしょう。 –

+0

はい、なぜ私はthis.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Noneこのコードを使用します。 – Hardik

関連する問題