Как изменить цвет границы формы с помощью приложения Windows
Привет
Как изменить цвет границы формы.Возможно это или нет.
Другой вариант решения этой проблемы заключается в следующем
1 - Первое изменение Форма собственность formborderstyle значение к никто.
2 - Использование панель и установить как содержание формы содержание и изменить форму фон красный или другой цвет, который вы хотите использовать для своей границы.
3 - Добавить кнопка сверху-левая сторона для закрытия форточки
4 - сделать форму перетаскиваемый
Я использовал этот трюк правильно
Это, конечно, не просто, и, вероятно, больше проблем, чем стоит - граница находится вне контроля приложения (чтобы поддерживать согласованный внешний вид и чувствовать себя частью ОС, а не приложения), и единственный прямой контроль, который у вас есть, - это удалить границу и нарисовать ее самостоятельно-однако это лишит вас возможности изменять размер формы.
Есть один образец, который я видел: http://customerborderform.codeplex.com/[^- но я понятия не имею, сколько работы вам придется сделать, чтобы заставить его работать в вашем коде.
Шаги:
1. Установите для параметра FormBorderStyle значение None.
2. Получите панель набора панелей.Док-станция сверху и отрегулируйте размер.
3. Выберите нужный цвет панели.
4. Сделайте событие Panel_MouseDown, чтобы сделать форму Перетаскиваемой
// Drag Form [DllImport("user32.DLL", EntryPoint = "ReleaseCapture")] private extern static void ReleaseCapture(); [DllImport("user32.DLL", EntryPoint = "SendMessage")] private extern static void SendMessage(System.IntPtr hWnd, int wMsg, int wParam, int lParam); private void TopPanel_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, 0x112, 0xf012, 0); } // Close-Maximize-Minimize private void CloseIconButton_Click(object sender, EventArgs e) { Application.Exit(); } private void MaximizeIconButton_Click(object sender, EventArgs e) { if (WindowState == FormWindowState.Normal) { WindowState = FormWindowState.Maximized; FormBorderStyle = FormBorderStyle.None; MaximizeIconButton.IconChar = FontAwesome.Sharp.IconChar.WindowRestore; } else { WindowState = FormWindowState.Normal; MaximizeIconButton.IconChar = FontAwesome.Sharp.IconChar.Square; } } private void MinimizeIconButton_Click(object sender, EventArgs e) { WindowState = FormWindowState.Minimized; } #endregion