2017-11-14 6 views
0

プロパティ 'WindowState'を 'Maximized'に変更し、プロパティ 'MaximizeBox'を 'false'に変更すると、アプリケーションが最大化され、復元ボタンをクリックしてウィンドウを復元する機会はありません。どのようにして常に最大化されたウィンドウを行うことができますか?

しかし、ウィンドウをドラッグして下に移動できるので、自動的に復元されます。復元を普遍的にブロックする方法はありますか?

ありがとうございます。

答えて

0

ユニバーサルブロックについてはわかりませんが、MaximizeBoxおよびwindowStateのプロパティをリセットするなどの設定に加えて、次のコードを使用してフォームの復元をブロックできます。ここでは、construcotr

this.LocationChanged += Form1_LocationChanged; 

//グローバル変数

private Point desiredLocation; 

の内側に、あなたが永続的なフォームの位置を維持するイベント定義内のフォーム

//のLocationChangedイベントをサブスクライブする必要があります。

void Form1_LocationChanged(object sender, EventArgs e) 
     { 
      if (this.Location != desiredLocation) 
      { 
       this.Location = desiredLocation; 
      } 
     } 
0

は、このリンクhttps://vaibhavgaikwad.wordpress.com/2006/06/05/creating-a-immovable-windows-form-in-c/を見て、次のコードでのWndProcをオーバーライドします。フォームのプロパティについては

protected override void WndProc(ref Message message) 
{  
    const int WM_SYSCOMMAND = 0x0112; 
    const int SC_MOVE = 0xF010; 

    switch(message.Msg) 
    { 
     case WM_SYSCOMMAND: 
     int command = message.WParam.ToInt32() & 0xfff0; 
     if (command == SC_MOVE) 
      return; 
     break; 
    } 

    base.WndProc(ref message); 
} 

+0

質問に関連タグを追加します。 – RBK

+0

通知ありがとう –

0

、最大化を開始し、最大化ボックスの両方を削除し、ボックスを最小化するためにフォームを設定の上、TopMostのこれをtrueに設定するという設定があります。ユーザーは、アプリケーションの上に別のアプリケーションを最小化または移動することはできません。 This photo Highlights property to change

関連する問題