Как я могу получить больше площади стекол win7 за счет уменьшения основного контейнера управления? (С #)
По умолчанию форма имеет область заголовка с ограниченным размером, к которой применяется эффект аэростекла. Я хотел бы увеличить эту область не только в заголовке, но и в нижней части и по бокам формы.
1 ответ
Решение
Использование DwmExtendFrameIntoClientArea
:
[StructLayout(LayoutKind.Sequential)]
struct MARGINS {
int Left;
int Right;
int Top;
int Bottom;
}
[DllImport("user32.dll")]
public static extern IntPtr DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarInset);
Вызов DwmExtendFrameIntoClientArea
с вашей формы Handle
и MARGINS
состав. Просто установите Left
, Right
, Top
а также Bottom
на сумму, которую вы хотите, чтобы соответствующие границы были расширены.
Да, и установить BackColor
вашей формы для Black
, (Спасибо, @HansPassant!)
Извините, если я получил extern
синтаксис неправильный. Я никогда не делал этого в C#...