2013-04-10 2 views
1

У меня есть запатентованный компонент Telerik под названием RadGridView. Это простой GridView с некоторыми расширенными функциями. Об этом мало что можно сказать, это просто контроль.
Я хотел бы добавить поддержку пейджинга к нему, так что я создал это составной элемент управления:Изменение внешнего вида унаследованного элемента управления

enter image description here

Там не так много к нему, просто RadGridView с стыковочным свойством Заливки с баром ToolStrip над ним с верхом для стыковки.

Проблема с этим подходом заключается в том, что он не соответствует интерфейсу RadGridView. Мне нужно заменить каждое появление RadGridView на это, и это может быть очень проблематичным.

Мне нужно найти способ сделать то же самое, наследуя от RadGridView. Это наследуемый элемент управления, и все его методы являются виртуальными. То, что я не знаю, как это сделать, заключается в том, как изменить внешний вид, чтобы панель инструментов была состыкована прямо над RadGridView. Я прочитал, что мне нужно изменить событие OnPaint, но я смущен относительно того, куда идти оттуда. Дизайнер Visual Studio не позволяет мне изменять свой внешний вид либо при наследовании от RadGridView.

ответ

0

Один простой способ сделать это:

class CustomButton : Button 
{ 
    protected override void OnPaint(PaintEventArgs pevent) 
    { 
     TextBox tb = new TextBox(); 
     tb.Width = 100; 
     tb.Height = 20; 
     tb.Top = this.Top - 20; 
     tb.Left = this.Left; 

     this.Parent.Controls.Add(tb); 
     base.OnPaint(pevent); 
    } 
} 

После компиляции вы увидите управления, доступной в окне инструмента. Конечно, вы можете поиграть со свойствами, но это основное. Итак, создайте настраиваемый элемент управления, который будет представлять пейджинг и добавит его таким образом.

Решение 2: Создайте составной элемент управления (как и вы) и выведите RadGridView в качестве свойства этого элемента управления.

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