常に一番上にあるツールバーがありますが(topmost = true)、他のプログラムを最大化すると、ウィンドウの上部がその後ろに隠れます。ツールバーの下で最大化して、閉じたり最小化したりできるようにしたい...逆さまのタスクバーのように、文字通り画面の作業領域を変更します...
これは可能ですか?「カイロシェル」でやったのを見たことがあります
FormのTopMostプロパティを使用して達成できるとは思いません。代わりに、 SetWindowPos()WIN32API呼び出しを使用する必要がある場合があります
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, SetWindowPosFlags uFlags);
static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
デスクトップ上の領域をプログラム用に予約し、他のすべてのプログラムが最大化されたときにその領域を使用しないようにする場合は、APISHAppBarMessageを使用してアプリをWindowのappbarリストに登録する必要があります。
.Netでこれを行うための適切なコードは見つかりませんでしたが、グーグルで検索すれば幸運になるでしょう。
これが1つです: http ://www.tek-tips.com/viewthread.cfm?qid = 1202570&page = 1