[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 和 ...
随机推荐
- 【NOIP2016提高A组8.11】钱仓
题目 分析 发现,一定有一个点作为起点,所有的路径都不经过这个起点. 接着贪心求答案, 如果\(c_i>1\),将其中\(c_i-1\)个钱往后"铺". 易证\(x^2+y^ ...
- CSS3——PC以及移动端页面适配方法(响应布局)
响应布局就是不同宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而使页面适应不同宽度. <!DOCTYPE html> <html lang="en" ...
- CF1242B. 0-1 MST
题目大意 有一个n个点的完全图,上面有m条边的权值为1,其余为0 求MST n,m<=10^5 题解 方法一: 维护一个点集,表示当前MST中的点 一开始任意加一个点 对于一个未加入的点,如果和 ...
- webkit内核的浏览器常见7种分别是..
Google Chrome Safari 遨游浏览器 3.x 搜狗浏览器 阿里云浏览器 QQ浏览器 360浏览器 ...
- pytho 解析fiddler 导出的har文件代码,自动录入api
参考:https://testerhome.com/topics/5276 har导出格式如下: { 'log': { 'pages': [], 'comment': 'exported @ 2019 ...
- JSP XML数据处理
JSP XML数据处理 当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RSS文档.作为一个XML文档,它仅仅只是一堆文本而已,使用JSP创建XML文档并不比创建 ...
- #1113-JSP 语法
JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...
- 从Java 调用JavaScript
篇幅过长 下载资源链接https://www.slidestalk.com/s/java_javascript_5hl09w
- qbzt day6 上午
还是合并石子,但是这次可以任意两个合并,并且求最大异或和 f[s]表示把s所对应的的石子合并为一堆的最小代价 最后求f[2^n-1] 怎么转移? 最后一次也是把两堆合并成一堆,但是会有很多情况,可以枚 ...
- Hbase——HA搭建
架构 master1,2 免秘钥登录 配置环境变量export HBASE_HOME=/root/hbase-0.99.2export PATH=$PATH:$HBASE_HOME/bin 修改配置文 ...