Привет, сегодня решил написать небольшой гайд по созданию 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
Скачать проект можно [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось Hermein; 26.07.2011 в 23:41.