非クライアント領域を含むWindowsフォームの全高さを取得するにはどうすればよいですか?サイズが私のウィンドウ(FormBorderStyle = FixedToolWindow、それが役立つ場合)には機能していないようです。クライアント以外の領域を含むウィンドウフォームの高さの合計を取得しますか?
1
A
答えて
2
フォームのDesktopBoundsプロパティを試してください。
2
サイズプロパティは間違いなく機能するはずです。デザイン・マシンとプロダクション・マシンの間のシステム・フォントまたはビデオ・アダプターのDPI設定の違いにより、フォームが再スケーリングされる可能性があることに注意してください。実際のサイズはLoadイベントまで使用できません。
0
Aeroが有効で、FormBorderStyle
がFixedToolWindow
の場合、Windowsではフォームのサイズが表示されます。私はForm
の次のコードは、そのようなウィンドウの正しい高さと幅を与えると思います。
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern bool DwmIsCompositionEnabled();
// When Aero is enabled, and our FormBorderStyle is FixedToolWindow,
// Windows will lie to us about our size and position.
public bool AeroIsMessingWithUs()
{
bool ret = false;
// check for other Fixed styles here if needed
if (FormBorderStyle == System.Windows.Forms.FormBorderStyle.FixedToolWindow)
{
if (Environment.OSVersion.Version.Major >= 6 && DwmIsCompositionEnabled())
{
// Aero is enabled
ret = true;
}
}
return ret;
}
public int MyWindowHeight()
{
int height = Height;
if (AeroIsMessingWithUs())
{
// there are actually 5 more pixels on the top and bottom
height += 10;
}
return height;
}
public int MyWindowWidth()
{
int width = Width;
if (AeroIsMessingWithUs())
{
// there are 5 more pixels on the left and right
width += 10;
}
return width;
}
関連する問題
- 1. マスクされた領域を含む(スクロール)ビューの高さを取得する方法
- 2. WPFウィンドウの透明度(非クライアント領域を含む)
- 3. winformsのスタイル(タイトルバーの色、罫線)をクライアント以外の領域に変更する
- 4. マスクされた領域の幅と高さを取得する方法
- 5. Android上で画面の作業領域の高さを取得する方法
- 6. Android - ビューの表示領域を取得しますか?
- 7. 除外パスを含むTextViewのセルの高さを計算する
- 8. フォントサイズを含むテキストの高さを取得し、その高さを設定します
- 9. Flash - 動的にロードされたムービークリップを含む領域をスクロール
- 10. Dijit BorderContainer下部領域の高さ
- 11. CSS:可変高さのヘッダーで100%の高さのコンテンツ領域
- 12. その領域の外側からUIScrollViewをスクロールしますか?
- 13. 以前のすべての値の合計を取得しますか? - これまでの合計?
- 14. オーバーラップ領域を含む衛星画像の補間
- 15. 固定幅スクロール領域の取得
- 16. JqPlot:y axラベルを含まないグラフ領域の固定高さ値を設定します。
- 17. NTFSファイルの合計サイズを取得する方法(セキュリティとADSを含む)?
- 18. OpenCVのROI内のオブジェクト領域を計算します
- 19. ASCII以外の文字を含むバッチファイル
- 20. iOS - UIScrollViewの可視領域のスクリーンショットをサイズで取得しますか?
- 21. UI以外のオートメーション要素を含むウィンドウの選択テキストを取得することはできますか?
- 22. スタック領域としてメモリ領域を使用しますか?
- 23. wikiからポリゴンの領域を取得する方法mapia api
- 24. JQueryモバイル100%の高さのページ(可視領域に等しい)
- 25. クライアントとサーバー間の帯域幅を計算しますか?
- 26. SQLで重複を含む最高のn値を取得
- 27. レンズタイプの合計(製品タイプを含む)
- 28. SQLite:列の合計/合計を取得
- 29. Firemonkeyを使用したDelphi Xe2:デフォルトのWindows非クライアントペイントスタイル以外のスタイルでペイントされた非クライアント領域を使用できますか?
- 30. モデルが取得された後にマリオネット領域をレンダリングする
'FormBorderStyle'が' FixedToolWindow'の場合、 'DesktopBounds'は' Size'よりも良い答えではないと思います。私は、Aeroが有効になっていると、両方が間違っていると思う。 –