[TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来
看下效果吧
<ignore_js_op>
下面是一个公共的添加方法
看代码
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/// <summary> /// 添加一个选项卡 /// </summary> /// <param name="MainTabControlKey">选项卡的键值</param> /// <param name="MainTabControlName">选项卡要显示的名称</param> /// <param name="objTabControl">要添加到的TabControl对象</param> /// <param name="objfrm">要被添加到选项卡的用户控件对象</param> private void addTabControl(string MainTabControlKey, string MainTabControlName, TabControl objTabControl, UserControl objfrm) { try { if (ErgodicModiForm(MainTabControlKey, MainTabControl)) { //声明一个选项卡对象 TabPage tabPage = new TabPage(); //选项卡的名称 tabPage.Name = MainTabControlKey; //选项卡的文本 tabPage.Text = MainTabControlName; //向选项卡集合添加新选项卡 MainTabControl.Controls.Add(tabPage); //子窗体显示 objfrm.Show(); //子窗体大小设置为选项卡大小 objfrm.Size = tabPage.Size; //将子窗体添加到选项卡中 tabPage.Controls.Add(objfrm); //设置当前选项卡为新增选项卡 MainTabControl.SelectedTab.Name = MainTabControlKey; } else { //设为当前选中的选项 MainTabControl.SelectTab(MainTabControlKey); } } catch (Exception) { showMessages objshowMesages = new showMessages(); objshowMesages.ShowDialog("提示信息", "添加选项卡时出错,请检查是否正确连接数据"); } } |
下面的验证方法ErgodicModiForm
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
|
/// </summary> /// <param name="MainTabControlKey">选项卡的键值</param> /// <param name="objTabControl">要添加到的TabControl对象</param> /// <returns></returns> private Boolean ErgodicModiForm(string MainTabControlKey, TabControl objTabControl) { //遍历选项卡判断是否存在该子窗体 foreach (Control con in objTabControl.Controls) { TabPage tab = (TabPage)con; if (tab.Name == MainTabControlKey) { return false;//存在 } } return true;//不存在 } |
下面的调用添加
|
01
02
03
04
05
06
07
08
09
10
11
12
|
try { //声部门控件对象 UserDepartments objfrm = new UserDepartments(); //调用添加选项卡的方法 addTabControl("Departments", "部门信息", MainTabControl, objfrm); } catch (Exception) { showMessages objshowMesages = new showMessages(); objshowMesages.ShowDialog("提示信息", "添加选项卡时出错,请检查是否正确连接数据"); } |
这样就可以动态的添加了, 还可以删除
try { MainTabControl.TabPages.Remove(MainTabControl.SelectedTab); } catch { showMessages objshowMesages = new showMessages(); objshowMesages.ShowDialog("提示信息", "已没有项目可删!"); }
http://www.sufeinet.com/thread-66-1-1.html
[TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来的更多相关文章
- 039. asp.netWeb用户控件之七实现具有虚拟键盘的功能的用户控件
用户控件ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="K ...
- 无边框窗体、用户控件、Timer控件
一.无边框窗体1 最大化.最小化以及关闭按钮制作实际上就是更换点击前.指向时.点击时的图片 (1)将图片放在该文件夹的Debug中,获取图片的路径Application.StartupPath + & ...
- WinForm将一个窗体的值传到另一个窗体的listbox控件,C#
做arcgisengine二次开发,读取当前图层文件的字段值,别名,类型. 读取文件是在有地图图层的窗体(假设为Form1),由于窗体有限,所以想把读取的数据在另一个窗体(假设为Form2)显示出来 ...
- c# winform 在一个窗体中使用另一个窗体中TextBox控件的值——解决办法
[前提]一个winform应用程序项目中,窗体B,需要使用 窗体A 中一个TextBox控件的值,进行计算等操作. [解决方案] 1.在窗体A中定义:public static double a;// ...
- Android和PHP开发最佳实践
Android和PHP开发最佳实践 <Android和PHP开发最佳实践>基本信息作者: 黄隽实丛书名: 移动应用开发技术丛书出版社:机械工业出版社ISBN:9787111410508上架 ...
- 【转】Java中关于异常处理的十个最佳实践
原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 ...
- Office Add-in 设计规范与最佳实践
作者:陈希章 发表于 2017年8月6日 引子 离上一篇Office Add-in的文章已经过去了一段时间,期间有去年Office 365 Asia Devday & Hackathon的二等 ...
- Java异常处理 10 个最佳实践
异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...
- Java 编程中关于异常处理的 10 个最佳实践
异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 ...
随机推荐
- js中的 与和或 , && ,||
|| 1.只要"||"前面为false,不管"||"后面是true还是false,都返回"||"后面的值. 2.只要"||&quo ...
- vue的.sync 修饰符
很多时候,我们会对 prop (父子组件传递数据的属性) 进行“双向绑定” 在vue 1.x 中的 .sync 修饰符所提供的功能.当一个子组件改变了一个带 .sync 的prop的值时,这个变化也会 ...
- 【JavaScript】 命名空间污染解决
闭包解决命名空间污染问题 var init = (function () { var name = "zhangsan", age = 12, sex = "male&q ...
- 在 Postman 中报错:Self-signed SSL certificates are being blocked 的分析与解决
http://www.shuijingwanwq.com/2019/02/18/3171/
- ndn挖坑记(二)
目录 如何使用ndnSIM运行自己的仿真实验 基本要点 开始动手 BUG记录 如何使用ndnSIM运行自己的仿真实验 基本要点 仿真场景可以在NS-3目录下的scratch/ or src/ndnSI ...
- 3D Computer Grapihcs Using OpenGL - 10 Color Buffer
本节我们将尝试利用三角形制作一个“走马灯”效果. 一个三角形如图示方式,从左向右依次移动. 先看一下代码: MyGlWindow.cpp #include <gl\glew.h> #inc ...
- Oracle-buffer cache、shared pool
http://blog.csdn.net/panfelix/article/details/38347059 buffer pool 和shared pool 详解 http://blog.csd ...
- p5349 幂
分析 https://www.cnblogs.com/cjyyb/p/10822490.html 代码 #include<bits/stdc++.h> using namespace st ...
- Ueditor1.4.4 Jsp版本视频上传成功,重新编辑时无法打开、在文本框内无法显示、html源码显示src为空
1. 编辑 ueditor.config.js 第355行 将 whitList 改为 whiteList 2.编辑ueditor.all.js 注释掉7343.7344.7345行代码,即: var ...
- pve-备份
一个50g的磁盘,用了13分钟 INFO: starting new backup job: vzdump 111 --node cu-pve04 --mode snapshot --compress ...