1.c#里面的TabControl控件沒有關閉按鈕,而且很難看。
2.有一些已經做好的第三方控件,但是收費。
3.由于我的故障樹推理診斷項目在繪圖的時候允許同時打開多個文檔進行操作,就要實現類似于瀏覽器的多標簽功能,而且要可以關閉。
4.所以自己寫一個類繼承TabControl類,然后重寫一些里面的方法即可實現。
5.特色:有關閉按鈕,標簽有背景顏色,選中的標簽和沒選中的顏色不一樣,實現鼠標中鍵和右鍵的功能
先看我的項目中的完整代碼,有很多代碼是我的項目需要,可根據你的項目需求刪減,核心的代碼后面詳細解釋:
/// <summary>
/// 重寫的TabControl控件 帶關閉按鈕
/// </summary>
public class MyTabControl : TabControl
{
private int iconWidth = 16;
private int iconHeight = 16;
private Image icon = null;
private Brush biaocolor = Brushes.Silver; //選項卡的背景色
private Form_paint father;//父窗口,即繪圖界面,為的是當選項卡全關后調用父窗口的dispose事件關閉父窗口
private AxMicrosoft.Office.Interop.VisOcx.AxDrawingControl axDrawingControl1;
public MyTabControl(AxMicrosoft.Office.Interop.VisOcx.AxDrawingControl axDrawingControl)
: base()
{
this.axDrawingControl1 = axDrawingControl;
this.ItemSize = new Size(50, 25); //設置選項卡標簽的大小,可改變高
主站蜘蛛池模板:
饶河县|
荃湾区|
永和县|
绥滨县|
内黄县|
靖江市|
红安县|
稻城县|
嘉禾县|
确山县|
清涧县|
合水县|
兴安盟|
凌源市|
芜湖市|
浏阳市|
商河县|
庐江县|
宜君县|
兴文县|
云阳县|
宜阳县|
称多县|
天峻县|
五家渠市|
梓潼县|
图木舒克市|
来安县|
辽源市|
新余市|
彭阳县|
太仆寺旗|
科技|
建平县|
芜湖市|
吉隆县|
闵行区|
东辽县|
岗巴县|
祁门县|
福建省|