PDA

Просмотр полной версии : [Руководство] C# WinForms закругленные углы


Hermein
26.07.2011, 04:07
Привет, сегодня решил написать небольшой гайд по созданию textBox,richTextBox с закругленными углами на WinForms.
Как, наверное многим известно на wpf это сделать без проблем, но на WinForms возникают трудности.

Принцип прост - при загрузке формы вызывается событие Paint, перерисовывающее элемент управления.

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

кидаем на форму richTextBox, меняем свойства:
BorderStyle none;
размер и шрифт по своему усмотрению.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

теперь кликаем по форме 2 раза и вставляем:

Paint += new PaintEventHandler(Form1_Paint);//перерисовываем

и добавляем обработчик:

void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
Pen pen = new Pen(Brushes.White, 4);
pen.LineJoin = LineJoin.Bevel;//задаем скошенные углы
pen.MiterLimit = 4;//задаем ограничение толщины скошенных углов
g.DrawRectangle(pen, new Rectangle(richTextBox1.Location.X - 1, richTextBox1.Location.Y - 1, richTextBox1.Width+3 , richTextBox1.Height+3));
//рисуем прямоугольник с параметрами испоьзуемыми выше
// ex Hermein
}

Теперь запускаем проект и вуаля!
Все намного проще чем казалось бы.

С вами был Hermein
Права на гайд принадлежат Hermein
ex Hermein for Zhyk.ru
Скачать проект можно ЗДЕСЬ(нажми сюда) ([Ссылки могут видеть только зарегистрированные и активированные пользователи]*********/fd15494)