通过页面名字调用页面并添加到tab控件中
/// <summary>
/// 动态 显示 tab
/// </summary>
/// <param name="sFromName">类名</param>
private void showTab(string sClassName, string MethodName, string sPRODUCTCOMPID)
{
string sFuncName = "showTab";
try
{
bool IsOpened = false;
string sSolutionName = Application.CompanyName;//命名空间
//System.Reflection.Assembly ass = Assembly.Load(sSolutionName);
//System.Windows.Forms.Form form = (System.Windows.Forms.Form)ass.CreateInstance(sSolutionName + "." + sClassName);
// 1.Load(命名空间名称),GetType(命名空间.类名)
Type type = Assembly.Load(sSolutionName).GetType(sSolutionName + "." + sClassName);
// 2.GetMethod(需要调用的方法名称)
MethodInfo method = type.GetMethod(MethodName);
// 3.调用的实例化方法(非静态方法)需要创建类型的一个实例
object obj = Activator.CreateInstance(type);
System.Windows.Forms.Form form = obj as System.Windows.Forms.Form;
//// 4.方法需要传入的参数
//object[] parameters = new object[] { sPRODUCTCOMPID };
//// 5.调用方法,如果调用的是一个静态方法,就不需要第3步(创建类型的实例)
//// 相应地调用静态方法时,Invoke的第一个参数为null
//method.Invoke(obj, parameters);
#region
foreach (SuperTabItem item in superTabControl.Tabs)
{
//已打开
if (item.Name == sClassName)
{
superTabControl.SelectedTab = item;
IsOpened = true;
break;
}
}
if (!IsOpened)
{
if (form != null)
{
form.TopLevel = false;//设置为非顶级控件 否则会报错
SuperTabItem tab = superTabControl.CreateTab("tabText");// new SuperTabItem();
//TAB.ContainerControl = from;
tab.Name = sClassName;
tab.Text = form.Text;
tab.FixedTabSize = new Size(120, 0);
tab.AttachedControl.Controls.Add(form);
tab.CloseButtonVisible = true;
superTabControl.Tabs.Add(tab);
this.superTabControl.SelectedTab = tab;
form.FormBorderStyle = FormBorderStyle.None;
form.Visible = true;
form.WindowState = FormWindowState.Maximized;
form.Dock = DockStyle.Fill;
form.ShowInTaskbar = false;
form.Show();//必须写在最后,不然显示不了
}
}
#endregion
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
通过页面名字调用页面并添加到tab控件中的更多相关文章
- IOS 当一个控件被添加到父控件中会调用(didMoveToSuperview)
/** * 当一个控件被添加到父控件中就会调用 */ - (void)didMoveToSuperview { if (self.group.opened) { self.nameView.image ...
- webview调用外部浏览器而不是在控件中显示
view.loadUrl(url); // 如果页面中链接,如果希望点击链接继续在当前browser中响应, // 而不是新开Android的系统browser ...
- 将数据库数据添加到ListView控件中
实现效果: 知识运用: ListView控件中的Items集合的Clear方法 //从listView控件的数据项集合中移除所有数据项 补充:可以使用Remove或RemoveAt方法从集合中移除单个 ...
- 将数据表中的数据添加到ComboBox控件中
实现效果: 知识运用: ComboBox控件的DataSource 属性 //获取或设置ComboBox的数据源 public Object DataResouce{get;set;} //属性值:任 ...
- swing实现QQ登录界面1.0( 实现了同一张图片只加载一次)、(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件)
swing实现QQ登录界面1.0( 实现了同一张图片只加载一次).(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件) 代码思路分析: 1.(同一张图片仅仅需要加载一次就够了,下 ...
- web页面动态加载UserControl,并调用用户控件中的方法来初始化控件
1,HTML页 头部注册: <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPre ...
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
- 扩展easyUI tab控件,添加加载遮罩效果
项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...
- 在RichTextBox控件中添加图片和文字
public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...
随机推荐
- Django开发—如何重置migration
情景一:不需要原有的数据库数据 删除数据库所有的表删除项目的migration模块中的所有 文件,除了init.py 文件执行脚本 python3 manage.py makemigrations p ...
- USACO4.1 Beef McNuggets【数学/结论】
吐槽/心路历程 打开这道题的时候:*&@#%*#?!这不是小凯的疑惑吗?好像还是个加强版的?我疑惑了.原来$USACO$才是真的强,不知道什么时候随随便便就押中了题目. 对于我这种蒟蒻来说,这 ...
- 【神经网络与深度学习】【CUDA开发】caffe-windows win32下的编译尝试
[神经网络与深度学习][CUDA开发]caffe-windows win32下的编译尝试 标签:[神经网络与深度学习] [CUDA开发] 主要是在开发Qt的应用程序时,需要的是有一个使用的库文件也只是 ...
- 【VS开发】解决位图缩放失真
当用以下函数加载一张位图时,当窗口发生重绘更改大小时,位图将失真: CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP2); BITMAP bmp; bit ...
- linux挂载 mount
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘.CD-ROM或共享资源)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程. Linux系统下目录和磁盘是分开的,磁盘上的文 ...
- AJAX得基本使用
直接上案例:
- 三、Kubernetes_V1.10集群部署-master-部署flanne网络
1. etcdctl --ca-file=/etc/etcd/ssl/ca.pem --cert-file=/etc/etcd/ssl/server.pem --key-file=/etc/etcd/ ...
- PMP项目正常估算时间
最佳时间段+正常时间段*+最差时间段)/=正常估算时间. 项目经理小李对某活动工期进行估算时,发现人员的熟练程度和设备供应是否及时对工期至关重要.如果形成最有利组合时,预计17天可以完成:如果形成最不 ...
- 交换机安全学习笔记 第五章 DHCP缺陷攻击
关于DHCP攻击有如下几类攻击方式: 一.耗尽DHCP地址池 通过随机生成源MAC地址,然后伪造DHCPDISCOVER数据包.耗尽DHCP服务器地址池. 免费的攻击工具: Yersi ...
- python-day14(正式学习)
目录 三元表达式 列表推导式 字典生成式 zip()方法 生成器 yield关键字 迭代套迭代 send(value) close() throw() 自定义range方法 生成器表达式 匿名函数 与 ...