如何在winform中實現圓角選項卡繪製
winform中怎麼繪製圓角選項卡
先看下這個效果
#給你個想法:
重寫TabControl控件,重載OnPaint方法
public class CustomTabControl : TabControl
{
//......
protected override void OnPaint(PaintEventArgs e)
{
this.PaintTransparentBackground(e.Graphics, base.ClientRectangle);
this.PaintAllTheTabs(e);
this.PaintTheTabPageBorder(e);
this.PaintTheSelectedTab(e);
}
//......
}
C Winform
建立一個MDI窗口,並新增一個ToolStrip控制項。
建立一個窗體的基底類別
public class BaseForm: Form{
protected ToolStrip toolStrip;
public static ListtoolStripItemList = new Lis();
protected void AddToolStrip(ToolStripItem toolStripItem){
toolStripItemList.add(toolStripItem);
if(toolStrip != null){
toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[]{ toolStripItem });
}
}
protected void SubToolStrip(string formName){
if(toolStrip != null){
foreach (ToolStripItem i in toolStripItemList){
if (i.Name == formName){
toolStrip1.Items.remove(i);
}
}
}
}
}
建立一個父窗體基底類別
public class MdiForm: BaseForm{
//在Mdi窗體中建立一個ToolStrip控制項 toolStrip1,並賦值給基底類別中的toolStrip
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
toolStrip = this.toolStrip1;
}
}
建立一個子窗體基底類別
public class ChildForm: BaseForm{
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
ToolStripItem toolStripItem = new ToolStripItem();
toolStripItem.Name = this.Name;
toolStripItem.Text = "xxxxxx";
AddToolStrip(toolStripItem);
}
protected override void OnFormClosed(FormClosedEventArgs e) {
base.OnFormClosed(e);
SubToolStrip(this.Name);
}
}
只是一個簡單思路,所有窗體同時繼承一個基類,在這個基類裡創建連個對象ToolStrip(在Mdi窗口上添加按鈕的控件),List(這裡為了簡單期間,用了一個簡單的List,如果要加上其他效果,例如某個窗體裡欄位改變,讓ToolStrip上的按鈕有不同的現實效果,圖片等等,你需要建立一個ToolStripButtonCollection)每次載入一個新的子窗體時,就在ToolStripButtonCollection增加一項,ToolStripButtonCollection會自動的再ToolStrip上增加一個按鈕,同樣ToolStripButtonCollection減少一項,ToolStrip會自動減少一個按鈕,這裡你還可以偵測ToolStripButtonCollection中的一些值,例如判斷欄位是否改變,是否說需要保存等等。
之後創建Mdi窗體,初始化基底類別裡的toolStrip;
之後建立子窗體,只要是從ChildForm繼承的子窗體,就會自動在Mdi視窗上建立一個以子窗體名稱命名的按鈕,非常類似你想要的效果,還有以上程式碼只是示範思路,重要的還是ToolStripButtonCollection這個類別的創建。
以上是如何在winform中實現圓角選項卡繪製的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

KB5054979是2025年3月27日發布的Windows 11版本24H2的累積安全更新。它針對.NET框架版本3.5和4.8.1,增強了安全性和整體穩定性。值得注意的是,該更新使用System.io API在UNC共享的文件和目錄操作中解決了問題。提供了兩種安裝方法:一個通過Windows設置通過Windows Update下的更新,另一個通過Microsoft Update目錄中的手冊下載。

Nanoleaf的Pegboard Desk Dock:時尚且功能型的桌子組織者 厭倦了相同的舊充電設置? NanoLeaf的新Pegboard Desk Dock提供了一種時尚且功能性的替代方案。 這款多功能桌配件擁有32個全彩RGB

解鎖Ryzen的潛力:精確提升超速驅動(PBO)的簡單指南 超頻您的新電腦似乎令人生畏。 儘管性能提高可能會感到難以捉摸,但留下潛在的啟用甚至更具吸引力。幸運的是,AMD Ryzen Processo

ASUS ROG Zephyrus G14 電競筆記本電腦特惠! 現在購買ASUS ROG Zephyrus G14 電競筆記本電腦,即可享受300美元的優惠!原價1999美元,現價僅需1699美元!隨時隨地暢享沉浸式遊戲體驗,或將其作為可靠的便攜式工作站。 Best Buy目前提供這款2024款14英寸ASUS ROG Zephyrus G14電競筆記本電腦的優惠活動。其強大的配置和性能令人印象深刻。 這款ASUS ROG Zephyrus G14電競筆記本電腦在Best Buy的售價為16

將Windows 11 PC變成藍牙揚聲器,並從手機中欣賞您喜歡的音樂!本指南向您展示瞭如何輕鬆將iPhone或Android設備連接到計算機進行音頻播放。 步驟1:配對藍牙設備 首先,PA

解鎖隱藏的Windows功能,以獲得更流暢的體驗! 發現令人驚訝的有用的Windows功能,可以顯著增強您的計算體驗。甚至經驗豐富的Windows用戶也可能在這裡找到一些新技巧。 動態鎖:自動

Windows 11 通知設置詳解:打造個性化通知體驗 Windows 11 將通知中心整合到日曆中,雖然需要一些時間適應,但通知的頻繁程度並未改變。如果您厭倦了不斷彈出的系統更新和無用應用通知,本文將指導您自定義 Windows 11 通知,優化工作流程。 全局通知設置 幾乎所有與通知相關的選項都位於 Windows 11 的“設置”中。 步驟 1:點擊“開始”菜單,選擇“設置”(或按“Windows I”)。 步驟 2:選擇左側邊欄中的“系統”。 步驟 3:點擊“通知”訪問所有通知選項。

您的Windows筆記本電腦電池的排水速度比您想要的快嗎? 不用擔心,您可以通過對Windows的內置電源管理功能進行一些簡單的調整來顯著延長其壽命。 這是如何在單級別上最大化筆記本電腦的電池壽命
