/// <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控件中的更多相关文章

  1. IOS 当一个控件被添加到父控件中会调用(didMoveToSuperview)

    /** * 当一个控件被添加到父控件中就会调用 */ - (void)didMoveToSuperview { if (self.group.opened) { self.nameView.image ...

  2. webview调用外部浏览器而不是在控件中显示

    view.loadUrl(url); // 如果页面中链接,如果希望点击链接继续在当前browser中响应,                     // 而不是新开Android的系统browser ...

  3. 将数据库数据添加到ListView控件中

    实现效果: 知识运用: ListView控件中的Items集合的Clear方法 //从listView控件的数据项集合中移除所有数据项 补充:可以使用Remove或RemoveAt方法从集合中移除单个 ...

  4. 将数据表中的数据添加到ComboBox控件中

    实现效果: 知识运用: ComboBox控件的DataSource 属性 //获取或设置ComboBox的数据源 public Object DataResouce{get;set;} //属性值:任 ...

  5. swing实现QQ登录界面1.0( 实现了同一张图片只加载一次)、(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件)

    swing实现QQ登录界面1.0( 实现了同一张图片只加载一次).(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件) 代码思路分析: 1.(同一张图片仅仅需要加载一次就够了,下 ...

  6. web页面动态加载UserControl,并调用用户控件中的方法来初始化控件

    1,HTML页 头部注册: <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPre ...

  7. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】

    1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...

  8. 扩展easyUI tab控件,添加加载遮罩效果

    项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...

  9. 在RichTextBox控件中添加图片和文字

    public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...

随机推荐

  1. 关于FPS游戏的设计问题

    第一个想到的问题: 首先以unity的FPSCharactorController为例,这里规定,相机的方向中心一定是瞄准的方向中心.设置身体的扭曲朝向相机方向,这样身体可以弯腰.你们看图中,我让玩家 ...

  2. datav轮播表使用事例

    官方事例地址: http://datav.jiaminghi.com/guide/scrollBoard.html 安装: npm install @jiaminghi/data-view 局部引入: ...

  3. AspNet Core Swagger4.0 生成请求model描述

    今天给大家分享 swagger 俩个冷门的小技巧 获取控制器描述 将 IncludeXmlComments 方法第二个参数设置为 true 即可 public static void IncludeX ...

  4. flask url_for的用法

    from flask import Flask,url_for app = Flask(__name__) @app.route('/') def hello_world(): print(url_f ...

  5. Linux系统基础知识整理(一)

    本文来自于: https://www.cnblogs.com/hafiz/p/6686187.html#4196989 一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰 ...

  6. centos6/7如何通过命令挑选出IP地址

    ifconfig ens33 |sed -n '2p'|sed 's/^.*intet //;s@ netmask.*$@@  直接挑出IP地址 选择第二行打印, ifconfig ens33|sed ...

  7. Java第二周总结报告

    第二周的学习,开始正式实践进行Java的学习. 本周做了什么? 了解的Java的一些基本知识,如Java变量,数据类型和运算符等.Java变量对不同的数据类型最好采用不同的命名规则,合理的命名有利于提 ...

  8. 09: mysql基础面试题

    1.uuid和id区别 1)uuid类型是varchar(36),而自增长Id则一般是bigInt类型. 2)相对于bigInt类型的自增长Id,varchar(36)类型的uuid消耗的物理空间更为 ...

  9. vue-cli 2.* 中导入公共less文件

    在新版的Vue CLI 3中,如何导入公共less文件在文档里已经描述的很清楚了,但是在2.*的版本中,我没有查到相关的办法,网友的办法又相当复杂,于是我推荐给大家一个很简单的办法. 首先,会用到we ...

  10. Select 和Alert

    Select 和Alert使用前都必须先导入 from selenium.webdriver.common.alert import Alert from selenium.webdriver.sup ...