Rumah  >  Artikel  >  Tutorial sistem  >  Bagaimana untuk melaksanakan lukisan tab bulat dalam winform

Bagaimana untuk melaksanakan lukisan tab bulat dalam winform

王林
王林ke hadapan
2024-01-25 14:30:06460semak imbas

Cara melukis tab bulat dalam winform

Mari kita lihat kesan ini dahulu

Bagaimana untuk melaksanakan lukisan tab bulat dalam winform

Beri anda idea:

Tulis semula kawalan TabControl dan lebihkan kaedah OnPaint

CustomTabControl kelas awam : TabControl

{

//......

penggantian dilindungi batal OnPaint(PaintEventArgs e)

{

ini.PaintTransparentBackground(e.Graphics, base.ClientRectangle);

ini.PaintAllTheTabs(e);

ini.PaintTheTabPageBorder(e);

ini.PaintTheSelectedTab(e);

}

//......

}

C Winform

Buat tetingkap MDI dan tambah kawalan ToolStrip.

Buat kelas asas borang

Borang Asas kelas awam: Borang{

dilindungi ToolStrip toolStrip;

ListtoolStripItemList statik awam = Lis baharu();

dilindungi kekosongan AddToolStrip(ToolStripItem toolStripItem){

toolStripItemList.add(toolStripItem);

jika(toolStrip != null){

toolStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem[]{ toolStripItem });

}

}

dilindungi lompang SubToolStrip(string formName){

jika(toolStrip != null){

foreach (ToolStripItem i dalam toolStripItemList){

jika (i.Nama ==Nama borang){

toolStrip1.Items.remove(i);

}

}

}

}

}

Buat kelas asas bentuk ibu bapa

MdiForm kelas awam: BaseForm{

//Buat ToolStrip kawalan toolStrip1 dalam bentuk Mdi dan tetapkan kepada toolStrip dalam kelas asas

override dilindungi void OnLoad(EventArgs e) {

base.OnLoad(e);

toolStrip = this.toolStrip1;

}

}

Buat kelas asas subbentuk

Borang Kanak-Kanak kelas awam: Borang Asas{

override dilindungi void OnLoad(EventArgs e) {

base.OnLoad(e);

ToolStripItem toolStripItem = new ToolStripItem();

toolStripItem.Name = ini.Nama;

toolStripItem.Text = "xxxxxx";

AddToolStrip(toolStripItem);

}

penggantian dilindungi batal OnFormClosed(FormClosedEventArgs e) {

base.OnFormClosed(e);

SubToolStrip(nama.ini);

}

}

Ini hanyalah idea mudah Semua bentuk mewarisi kelas asas pada masa yang sama Cipta dua objek dalam kelas asas ini: ToolStrip (kawalan untuk menambah butang pada tetingkap Mdi) dan Senarai (untuk kesederhanaan, Senarai ringkas digunakan di sini. . Jika anda ingin menambah kesan lain, seperti perubahan medan dalam borang, supaya butang pada ToolStrip mempunyai kesan realistik yang berbeza, gambar, dsb., anda perlu mencipta ToolStripButtonCollection) Setiap kali subborang baharu dimuatkan, pergi. kepada Apabila ToolStripButtonCollection menambah item, ToolStripButtonCollection akan menambah butang secara automatik pada ToolStrip Begitu juga, jika ToolStripButtonCollection mengurangkan item, ToolStrip akan secara automatik mengurangkan satu butang Di sini anda juga boleh mengesan beberapa nilai dalam ToolStripButtonCollection, seperti menentukan sama ada medan tersebut. diubah dan sama ada ia perlu disimpan dsb.

Kemudian buat borang Mdi dan mulakan toolStrip dalam kelas asas;

Selepas itu, buat subborang asalkan ia adalah subborang yang diwarisi daripada ChildForm, butang yang dinamakan sempena nama subborang akan dibuat secara automatik pada tetingkap Mdi Ia sangat serupa dengan kod di atas hanyalah idea tunjuk cara. Apa yang penting ialah penciptaan kelas ToolStripButtonCollection.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan lukisan tab bulat dalam winform. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam