2016-07-24 4 views
-1

現在、フォームを最大化するためにDoubleclickイベントでフチ無しのフォームを作成しています。しかし、私は、フォームが他の2つの画面で最大化されないことに気付きました。 だから私のコードは、現在、次のとおりです。複数のモニタを使用したフチ無しフォームの最大化c#

private void Form1_DoubleClick(object sender, EventArgs e) 
{ 
    if ((this.Height == Screen.PrimaryScreen.WorkingArea.Height) && (this.Width == Screen.PrimaryScreen.WorkingArea.Width)) 
    { 
     this.Width = 534; 
     this.Height = 600; 
     CenterToScreen(); 
    } 
    else 
    { 
     this.Height = Screen.PrimaryScreen.WorkingArea.Height; 
     this.Width = Screen.PrimaryScreen.WorkingArea.Width; 
     this.Location = Screen.PrimaryScreen.WorkingArea.Location; 
    } 
} 

それは奇妙に見えるかもしれませんが、私はタスクバーをカバーしていないためにそれを使用します。 私はそれを横にドッキングするためにこのようなコードを必要とし、それを使ってフォームがどこにあるべきかを計算します。次のようになります。half right screen dock 9つのボタンの1つをクリックすると、画面の別の場所に画面がドッキングします。角の半分、画面の半分、中央にあります。

フォームでどの画面が検出されたかを確認し、その画面でフォームを最大化するコードを使用しようとしましたが、赤い線がたくさんあり、最後には機能しませんでした。

私は3台のモニターを持っています。

助けてください。

答えて

0

これをタスクバーの画面であるプライマリ画面にハードコードしました。他の画面に画面を表示させるには、フォームが現在それに合わせて調整されている必要があります。

private void Form1_DoubleClick(object sender, EventArgs e) 
{ 
    if ((this.Height == Screen.FromControl(this).WorkingArea.Height) && (this.Width == Screen.FromControl(this).WorkingArea.Width)) 
    { 
     this.Width = 534; 
     this.Height = 600; 
     CenterToScreen(); 
    } 
    else 
    { 
     this.Height = Screen.FromControl(this).WorkingArea.Height; 
     this.Width = Screen.FromControl(this).WorkingArea.Width; 
     this.Location = Screen.FromControl(this).WorkingArea.Location; 
    } 
} 
+0

以前はコードを見たことがありましたが、それをどのように入れるのか分かりませんでした。ありがとう – KrisPus

関連する問題