2015-03-10 5 views
0

I haved обращается круглый прямоугольник с использованием OnPaint события:Как добавить контроль над GraphicsPath

protected override void OnPaint(PaintEventArgs e) 
     { 
      base.OnPaint(e); 

      GraphicsPath path = RoundedRectangle.Create(5, 5, 20, 20); 
      e.Graphics.DrawPath(Pens.Black, path); 
     } 

и я хочу, чтобы сделать контроль над этим прямоугольником. например: a TextBox

Вопрос: Есть ли способ узнать Location или Point GraphicsPath, чтобы установить мой контроль над ним?

ответ

0

Так что вы хотите что-то, что выглядит следующим образом:

enter image description here

Шахта устанавливается как пользовательский класс, который наследует от контроля и имеет обычай OnPaint, чтобы получить закругленные края:

class RoundedText : Control 
{ 
    //Code 
    protected override void OnPaint(PaintEventArgs e) 
    { 
     //Code for rounded edges 
    } 
} 

Затем, чтобы получить текстовое поле для отображения, я добавляю TextBox к элементу управления, так же, как я бы хотел:

Таким образом, TextBox всегда помещается относительно прямоугольника, поэтому вам не нужно беспокоиться о том, чтобы получить позицию пути.

Смежные вопросы