Как известно красивый интерфейс у приложений это большой плюс, так как пользователю программного обеспечения приятней работать с красивой формой, на которой размещение красивые кнопочки, разноцветные подсказки и т.д. чем з серой стандартной формой.
Так как большинство (начинающих программистов) разрабатывают свои приложения на Windows Forms и в отличии от WPF у него нет возможности разработки красивого интерфейса, то я решил написать данную статью.
1. Создаем в своем любимом графическом редакторе картинку, которая будет выступать формой нашего окна. Не нужную область (область которую мы хотим сделать прозрачной) обязательно закрашиваем в черный цвет. На основании этого цвета и будет производиться «формовка» окна.
3. В свойствах формы устанавливаем свойство FormBorderStyle в None. В качестве BackgroundImage указываем изображение, которое создали в первом пункте. В свойстве TransparencyKey указываем черный цвет (тот цвет, которым закрасили не нужную область изображения).
4. Установка FormBorderStyle в None приводит к исчезновению строки заголовка окна с кнопками сворачивания/разворачивания и закрытия окна, поэтому нужно создать эти кнопки вручную. Добавляем из ToolBox две обычные кнопки (Button) для закрытия и сворачивания окна. Одной в свойстве Text указываем «X», а другой «_».
5. Для кнопки «X» обрабатываем событие Click из Properties->Events и описываем процедуру закрытия окна:
1.
private
void
butMinimize_Click(
object
sender, EventArgs e)
2.
{
3.
this
.Close();
4.
}
аналогично и для кнопки сворачивания окна «_» обрабатываем событие:
1.
private
void
butMinimize_Click(
object
sender, EventArgs e)
2.
{
3.
this
.WindowState = FormWindowState.Minimized;
4.
}
Вот теперь наше окно можно свернуть и закрыть. Вроде все хорошо но хочется еще чтоб форму можно било мышкой перетаскивать, для этого создаем новую публичную переменную mouse_offset типа Point:
1.
public
Point mouse_offset;
Для формы обрабатываем события MouseDown, и описываем в нем процедуру инициализации переменной mouse_offset:
1.
private
void
TestForms_MouseDown(
object
sender, MouseEventArgs e)
2.
{
3.
mouse_offset =
new
Point(-e.X, -e.Y);
4.
}
та событие MouseMove в которой будет определение текущих координат курсора и перемещение формы:
01.
private
void
TestForms_MouseMove(
object
sender, MouseEventArgs e)
02.
{
03.
if
(e.Button == MouseButtons.Left)
04.
{
05.
Point mousePos = Control.MousePosition;
06.
mousePos.Offset(mouse_offset.X, mouse_offset.Y);
//определяем текущие координаты курсора
07.
Location = mousePos;
//перемещаем форму
08.
}
09.
}
Все теперь компилируем проект и смотрим на результат ;)
В этой статье я рассказал как с помощью графических редакторов и Вашей фантази можно создать красивый интерфейс для WinForms приложений.
Скачать проект.
В этой статье я рассказал как с помощью графических редакторов и Вашей фантази можно создать красивый интерфейс для WinForms приложений.
Скачать проект.
Как известно красивый интерфейс у приложений это большой плюс, так как пользователю программного обеспечения приятней работать с красивой формой, на которой размещение красивые кнопочки, разноцветные подсказки и т.д. чем з серой стандартной формой.
Так как большинство (начинающих программистов) разрабатывают свои приложения на Windows Forms и в отличии от WPF у него нет возможности разработки красивого интерфейса, то я решил написать данную статью.
1. Создаем в своем любимом графическом редакторе картинку, которая будет выступать формой нашего окна. Не нужную область (область которую мы хотим сделать прозрачной) обязательно закрашиваем в черный цвет. На основании этого цвета и будет производиться «формовка» окна.
3. В свойствах формы устанавливаем свойство FormBorderStyle в None. В качестве BackgroundImage указываем изображение, которое создали в первом пункте. В свойстве TransparencyKey указываем черный цвет (тот цвет, которым закрасили не нужную область изображения).
4. Установка FormBorderStyle в None приводит к исчезновению строки заголовка окна с кнопками сворачивания/разворачивания и закрытия окна, поэтому нужно создать эти кнопки вручную. Добавляем из ToolBox две обычные кнопки (Button) для закрытия и сворачивания окна. Одной в свойстве Text указываем «X», а другой «_».
5. Для кнопки «X» обрабатываем событие Click из Properties->Events и описываем процедуру закрытия окна:
1.
private
void
butMinimize_Click(
object
sender, EventArgs e)
2.
{
3.
this
.Close();
4.
}
аналогично и для кнопки сворачивания окна «_» обрабатываем событие:
1.
private
void
butMinimize_Click(
object
sender, EventArgs e)
2.
{
3.
this
.WindowState = FormWindowState.Minimized;
4.
}
Вот теперь наше окно можно свернуть и закрыть. Вроде все хорошо но хочется еще чтоб форму можно било мышкой перетаскивать, для этого создаем новую публичную переменную mouse_offset типа Point:
1.
public
Point mouse_offset;
Для формы обрабатываем события MouseDown, и описываем в нем процедуру инициализации переменной mouse_offset:
1.
private
void
TestForms_MouseDown(
object
sender, MouseEventArgs e)
2.
{
3.
mouse_offset =
new
Point(-e.X, -e.Y);
4.
}
та событие MouseMove в которой будет определение текущих координат курсора и перемещение формы:
01.
private
void
TestForms_MouseMove(
object
sender, MouseEventArgs e)
02.
{
03.
if
(e.Button == MouseButtons.Left)
04.
{
05.
Point mousePos = Control.MousePosition;
06.
mousePos.Offset(mouse_offset.X, mouse_offset.Y);
//определяем текущие координаты курсора
07.
Location = mousePos;
//перемещаем форму
08.
}
09.
}
Все теперь компилируем проект и смотрим на результат ;)
В этой статье я рассказал как с помощью графических редакторов и Вашей фантази можно создать красивый интерфейс для WinForms приложений.
Скачать проект.
В этой статье я рассказал как с помощью графических редакторов и Вашей фантази можно создать красивый интерфейс для WinForms приложений.
Скачать проект.
0 коммент.:
Отправить комментарий