C# Winform選項(xiàng)卡集成窗體詳解
本文實(shí)例為大家分享了C# Winform選項(xiàng)卡集成窗體的具體代碼,供大家參考,具體內(nèi)容如下
知識(shí)要點(diǎn):利用反射動(dòng)態(tài)的加載窗體到對(duì)應(yīng)的TabPage的。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MDITest { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } public int[] s = { 0, 0, 0 };//用來(lái)記錄窗體是否打開過 private void MainForm_Load(object sender, EventArgs e) { //默認(rèn)加載CNC窗體 string formClass = "MDITest.CNC"; GenerateForm(formClass, tabControl1); } public void GenerateForm(string form,object sender) { //反射生成窗體 Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(form); //設(shè)置窗體沒有邊框,加入到選項(xiàng)卡中 fm.FormBorderStyle = FormBorderStyle.None; fm.TopLevel = false; fm.Parent = ((TabControl)sender).SelectedTab; fm.ControlBox = false; fm.Dock = DockStyle.Fill; fm.Show(); s[((TabControl)sender).SelectedIndex] = 1; } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { //只生成一次 if(s[tabControl1.SelectedIndex]==0) { btn_Click(sender,e); } } /// <summary> /// 通用按鈕點(diǎn)擊選項(xiàng)卡 在選項(xiàng)卡上顯示對(duì)應(yīng)的窗體 /// </summary> private void btn_Click(object sender,EventArgs e) { string formClass=((TabControl)sender).SelectedTab.Tag.ToString(); GenerateForm(formClass, sender); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 在WinForm應(yīng)用程序中快速實(shí)現(xiàn)多語(yǔ)言的處理的方法
- 分享兩種實(shí)現(xiàn)Winform程序的多語(yǔ)言支持的多種解決方案
- VisualStudio2019中為.NET Core WinForm App啟用窗體設(shè)計(jì)器
- visual studio 2019使用net core3.0創(chuàng)建winform無(wú)法使用窗體設(shè)計(jì)器
- WINFORM 窗體間的傳值實(shí)現(xiàn)解析
- c# WinForm 窗體之間傳值的幾種方式(小結(jié))
- C# WinForm實(shí)現(xiàn)窗體上控件自由拖動(dòng)功能示例
- C# WinForm制作異形窗體與控件的方法
- winform c#中子窗體關(guān)閉刷新父窗體的實(shí)例
- Winform窗體如何改變語(yǔ)言類型
相關(guān)文章
C#利用deskew算法實(shí)現(xiàn)圖像文本傾斜校正
這篇文章主要為大家詳細(xì)介紹了C#如何利用deskew算法實(shí)現(xiàn)圖像文本傾斜校正,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01提權(quán)函數(shù)之RtlAdjustPrivilege()使用說明
RtlAdjustPrivilege() 這玩意是在 NTDLL.DLL 里的一個(gè)不為人知的函數(shù),MS沒有公開,原因就是這玩意實(shí)在是太NB了,以至于不需要任何其他函數(shù)的幫助,僅憑這一個(gè)函數(shù)就可以獲得進(jìn)程ACL的任意權(quán)限!2011-06-06C# 定時(shí)器?;顧C(jī)制引起的內(nèi)存泄露問題解決
這篇文章主要介紹了C# 定時(shí)器保活機(jī)制引起的內(nèi)存泄露問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02.NET單點(diǎn)登陸的實(shí)現(xiàn)方法及思路
這篇文章介紹了.NET單點(diǎn)登陸的實(shí)現(xiàn)方法及思路,有需要的朋友可以參考一下,希望對(duì)你有所幫助2013-07-07C# 實(shí)現(xiàn)ADSL自動(dòng)斷網(wǎng)和撥號(hào)的方法(適用于撥號(hào)用戶)
下面小編就為大家?guī)?lái)一篇C# 實(shí)現(xiàn)ADSL自動(dòng)斷網(wǎng)和撥號(hào)的方法(適用于撥號(hào)用戶)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-12-12