1

カスタムの閉じるボタンと最小化ボタンを使用して、フチなしフォームを作成しようとしています。ただし、境界線をnoneに設定し、ウィンドウの状態を最大化すると、フォームがタスクバーを非表示にするように見えますが、これは私が望んでいることではありません。私はWindows7を使用していることに注意してください。ここでいくつかの回答を読みましたが、他の場所では何も機能していないようです。タスクバーは常に非表示になっています。運が悪かったので試してみたいくつかのことを以下に示します。

  • this.WindowState = FormWindowState.Maximized; this.FormBorderStyle = FormBorderStyle.None; this.TopMost = true;

  • Screen screen = Screen.FromPoint(this.Location); this.Size = screen.WorkingArea.Size; this.Location = Point.Empty;

  • this.Bounds = Screen.PrimaryScreen.WorkingArea;

4

5 に答える 5

6

私はこれがあなたが探しているものだと思います

this.MaximumSize = Screen.PrimaryScreen.WorkingArea.Size;

これをチェックして

于 2014-04-21T17:26:52.223 に答える
1

最も簡単な解決策は次のとおりです。

this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height - 40;

this.Location = new Point();

this.StartPosition = FormStartPosition.Manual;

この例では、タスクバーが表示されており、タスクバーが下部に配置されていると仮定します。この質問/回答を読むことができますWindowsタスクバーが非表示になっているかどうかをプログラムで判断するにはどうすればよいですか?タスクバーのステータスの自動検出で私の例を拡張するために。

タスクバーのサイズを決定する方法の例を次に示します。タスクバーの位置とサイズを取得するにはどうすればよいですか。

私の解像度では、タスクバーのサイズは40です。

于 2012-10-09T22:45:54.220 に答える
1

フォームの境界線スタイルを none に設定すると、フォームはタスクバーを非表示にします。これを回避するには、フォームの MaximumSize を手動で設定する必要があります。Windows がタスクバーを自動的に非表示にする場合、フォームは非表示のタスクバーもカバーします! これを回避するには、最大サイズの高さを 1 ピクセル減らします (タスクバーが下部にある場合)。

        Me.MaximumSize = New Size(My.Computer.Screen.WorkingArea.Size.Width, _
                                  My.Computer.Screen.WorkingArea.Size.Height - 1)
于 2013-03-06T14:25:43.733 に答える
0

これは、フォームに表示するように指示している動作のようです。フォームを最上位に指定し、画面全体に明示的に境界を設定すると、タスクバーがカバーされます。(これは、POSおよびタッチスクリーンアプリケーションでよく行われます)

FormWindowState.Maximizedを設定するだけで、画面全体を埋めるように境界を指定しないでください。

于 2012-10-09T22:48:49.123 に答える