2013-04-10 79 views
1

我有一個來自Telerik的專有組件,名爲RadGridView。這是一個簡單的GridView,具有一些擴展功能。沒什麼可說的,它只是一個控制。
我很想分頁支持添加到它,所以我創造了這個複合控件:修改繼承控件的外觀

enter image description here

沒有太多吧,只是一個配有補對接財產RadGridView,與它上面的工具條吧具有頂部停靠屬性。

這種方法的問題在於它與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爲控件的屬性。