1

で回答されていない質問があります

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/fa521007-f317-48f1-9cdd-de2dbcb17aa8

(最後の投稿は私の投稿です)。StackOverflow はより良いフォーラムなので、私を助けてくれませんか :)

簡単に言うと:

  • デュアル モニター構成、右側のプライマリ モニターの解像度が低く、左側のモニターの解像度が高い (lo: 1280x1024; hi: 1680x1050)。大きなもので最大化すると、ウィンドウがモニターよりも大きくなります (左側のモニターでのみ機能します)
  • ボーダレス ウィンドウの基本クラスに取り組んでいます
  • 実際のクライアント領域への最大化は期待どおりに機能しません。WndProc フックを追加し、サイズ パラメータをいじることで解決しました。最大化はMaxSizeではなくMaxTrackSizeに依存しているように見えるため、複数のモニターのサポートによりいくつかの問題が追加されました。これは、プライマリ モニターがセカンド モニターよりも小さい場合にのみ発生するようです。

仕様で見つけたもの:

http://msdn.microsoft.com/en-us/library/ms632605(v=VS.85).aspx

複数のモニターを備えたシステムの場合、ptMaxSize メンバーと ptMaxPosition メンバーは、ウィンドウが最終的にセカンダリ モニター上で最大化される場合でも、プライマリ モニター上のウィンドウの最大化されたサイズと位置を記述します。その場合、ウィンドウ マネージャーはこれらの値を調整して、プライマリ モニターとウィンドウを表示するモニターとの違いを補正します。したがって、ユーザーが ptMaxSize をそのままにしておくと、プライマリ モニターより大きいモニター上のウィンドウは、より大きいモニターのサイズに最大化されます。

したがって、私の場合、最大化されたウィンドウの下に非表示にならないようにタスクバーが配置されている場合、より高い解像度で画面上に最大化することは不可能ですか?

乾杯、jbk

4

2 に答える 2

0

これは私のために働いたものです:

  1. FormBorderStyleFixedSingleに設定- 他のスタイルでも動作する可能性があります != None、テストしていません...
  2. WindowStateFormWindowState.Maximizedに設定します。
  3. FormBorderStyleNoneにリセット

少なくとも、WinAPI に頼ることなく、純粋な WinForms で動作します

于 2013-06-14T11:17:15.773 に答える
0

独自の「最大化」を実装できます。

  1. Screen.FromControlを使用して、フォームが存在する画面を決定します
  2. Formaccoding のオフセットとサイズを画面のオフセットとサイズに設定します。
  3. 必要に応じて、Screen の WorkingArea (デスクトップ領域) または Bounds (ツールバーを含む画面全体) のいずれかを使用できます。

*ツールバーを非表示にして事実上の「全画面表示」にしたい場合は、フォームを TopMost に設定する必要があると思います。

于 2011-02-16T10:37:38.577 に答える