Heim  >  Artikel  >  System-Tutorial  >  So implementieren Sie das Zeichnen abgerundeter Tabulatoren in WinForm

So implementieren Sie das Zeichnen abgerundeter Tabulatoren in WinForm

王林
王林nach vorne
2024-01-25 14:30:06460Durchsuche

So zeichnen Sie abgerundete Tabulatoren in Winform

Schauen wir uns zunächst diesen Effekt an

So implementieren Sie das Zeichnen abgerundeter Tabulatoren in WinForm

Geben Sie eine Idee:

Schreiben Sie das TabControl-Steuerelement neu und überladen Sie die OnPaint-Methode

öffentliche Klasse 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

Erstellen Sie ein MDI-Fenster und fügen Sie ein ToolStrip-Steuerelement hinzu.

Erstellen Sie eine Basisklasse für ein Formular

öffentliche Klasse BaseForm: Form{

geschützter 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);

}

}

}

}

}

Erstellen Sie eine Basisklasse für das übergeordnete Formular

öffentliche Klasse MdiForm: BaseForm{

//Erstellen Sie ein ToolStrip-Steuerelement toolStrip1 im MDI-Formular und weisen Sie es toolStrip in der Basisklasse zu

protected override void OnLoad(EventArgs e) {

base.OnLoad(e);

toolStrip = this.toolStrip1;

}

}

Erstellen Sie eine Unterformular-Basisklasse

öffentliche Klasse 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);

}

}

Es ist nur eine einfache Idee. Alle Formulare erben gleichzeitig eine Basisklasse: ToolStrip (ein Steuerelement zum Hinzufügen von Schaltflächen im MDI-Fenster) und List (der Einfachheit halber wird hier eine einfache Liste verwendet). . Wenn Sie andere Effekte hinzufügen möchten, z. B. Feldänderungen in einem Formular, damit die Schaltflächen auf dem ToolStrip unterschiedliche realistische Effekte, Bilder usw. haben, müssen Sie eine ToolStripButtonCollection erstellen. Gehen Sie jedes Mal, wenn ein neues Unterformular geladen wird Wenn ToolStripButtonCollection ein Element hinzufügt, fügt ToolStripButtonCollection automatisch eine Schaltfläche zu ToolStrip hinzu. Wenn ToolStripButtonCollection ein Element verringert, verringert ToolStrip auch automatisch eine Schaltfläche. Hier können Sie auch einige Werte in ToolStripButtonCollection erkennen, z. B. bestimmen, ob das Feld vorhanden ist geändert wurde und ob es gespeichert werden muss usw.

Erstellen Sie dann das Mdi-Formular und initialisieren Sie toolStrip in der Basisklasse;

Solange es sich um ein von ChildForm geerbtes Unterformular handelt, wird im MDI-Fenster automatisch eine Schaltfläche erstellt, die dem gewünschten Effekt entspricht ist nur eine Demonstrationsidee. Wichtig ist die Erstellung der ToolStripButtonCollection-Klasse.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie das Zeichnen abgerundeter Tabulatoren in WinForm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen