知识要点:利用反射动态的加载窗体到对应的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 = { , , };//用来记录窗体是否打开过 private void MainForm_Load(object sender, EventArgs e)
{
//默认加载CNC窗体
string formClass = "MDITest.CNC";
GenerateForm(formClass, tabControl1);
} public void GenerateForm(string form,object sender)
{
//反射生成窗体
Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(form);
//设置窗体没有边框,加入到选项卡中
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] = ;
} private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
//只生成一次
if(s[tabControl1.SelectedIndex]==)
{
btn_Click(sender,e);
}
} /// <summary>
/// 通用按钮点击选项卡 在选项卡上显示对应的窗体
/// </summary>
private void btn_Click(object sender,EventArgs e)
{
string formClass=((TabControl)sender).SelectedTab.Tag.ToString();
GenerateForm(formClass, sender);
} }
}

最新文章

  1. CSS+DIV 设计一个简单的个人网页界面
  2. 微信小程序开放公测了 晚上又可以通宵搞代码了
  3. Spring(三)Bean继续入门
  4. wuzhicms私密下载链接生成
  5. [OJ] Matrix Zigzag Traversal
  6. Open-Falcon第七步安装报警模块(小米开源互联网企业级监控系统)
  7. 第九章 BootstrapTable的使用
  8. Codeforces Round #449 (Div. 2)-897A.Scarborough Fair(字符替换水题) 897B.Chtholly&#39;s request(处理前一半) 897C.Nephren gives a riddle(递归)
  9. Gitflow工作流程
  10. ACCA AI来袭会议笔记
  11. JOSN转列格式(csv文件)
  12. 微服务的发现与注册--Eureka
  13. python: 序列化/反序列化及对象的深拷贝/浅拷贝
  14. win7下安装Office2010老是出现提示安装MSXML6.10.1129.0,下载官方MSXML后提示安装成功却也安装不了
  15. QQ企业邮箱接口
  16. vue 路由跳转,路由传参的几种方式
  17. vs2017配置pthread.h的方法
  18. GEOquery
  19. MVC自定义路由02-实现IRouteConstraint限制控制器名
  20. Maven学习(三)-----Maven本地资源库

热门文章

  1. javascript语言使用技巧及注意事项总结
  2. javac的访问者模式
  3. echart 时间轴、以及y轴值过大但是变化不大显示感觉不出变化的问题+弹出框拖动div事件
  4. JavaScript数据结构-7.链表
  5. 使用vue的v-model自定义 checkbox组件
  6. unity 2018获取本地ip 问题,ipaddress
  7. javascript 遍历
  8. CSS3动画积累+动画库+3d动画
  9. 有关css和js针对不同浏览器兼容的问题
  10. vue-cli 中遇见的问题,记录爬坑日常!