[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
转载于:https://www.cnblogs.com/Echo529/p/6382438.html
[TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来相关推荐
- 信创办公--基于WPS的Word最佳实践系列(快速自定义访问工具栏)——以添加“输出为PPTX”命令为例
信创办公–基于WPS的Word最佳实践系列(快速自定义访问工具栏)--以添加"输出为PPTX"命令为例 项目背景 工作中,我们通常需要在word中提炼出内容,再用PPT将内容呈现出 ...
- 无边框窗体和用户控件以及权限
无边框窗体: 就是吧窗体的边框去掉,然后自己做按钮设置功能. 无边框窗体的移动: 将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用 1 //窗体移动API 2 [Dl ...
- 前后端分离最佳实践:搭建一个复习算法题的网站ReviseCode(一)
前言:很多人学完SSM就直接学SpringBoot,几乎没有试过整合SSM框架,导致仅仅是学会了SpringBoot使用,并不知道为什么是这样配置.另一方面,有的人整合了SSM框架,并且配置完后完成了 ...
- 控件把鼠标放上去出现一个小窗口_控件跟着鼠标走,VBA让你的操作随心所欲
大家好,我们今日继续讲解VBA代码解决方案的第97讲内容:控件跟随鼠标,在利用VBA写代码的时候,往往很多发现是不经意间的.对于这类发现要善于总结,善于利用才能逐渐的提高自己的能力.例如在前几篇文章中 ...
- 微信公众号最佳实践 ( 4.7)获取用户地理位置
开通了上报地理位置接口的微信公众号,在用户关注并进入微信公众号回话时,会弹框让用户确认是否允许微信公众号使用其地理位置.弹框只在关注后出现一次,用户以后可以在微信公众号详情页面进行操作. 本章代码还需 ...
- 在asp.net中为Web用户控件添加属性和事件
在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的 ...
- ASP.NET 实践:使用用户控件实现 Web 部件的个性化
这个实践示范了如何创建依赖于 Web 部件个性化的 ASP.NET 用户控件,并在 Web 页面中提供用户特定的默认值. ASP.NET Web 部件控件集允许你建立拥有模块化布局的 Web 页面,并 ...
- 【翻译】2020年云安全综合指南(风险,最佳实践,认证)
翻译自:https://kinsta.com/blog/cloud-security/#what-is-kaspersky-security-cloud 云安全性包含技术,控件,流程和策略,这些技术, ...
- 《Web前端开发最佳实践》读书笔记
总的来说,这本书给我感觉帮助不大,比较适合新手,对新手养成好的习惯有些帮助.更深层次的东西比较少,而且由于书的发行周期,对于前端这种日新月异的技术来说,过时.与新技术新理念脱节,是没法避免的事情(20 ...
最新文章
- python 3.5 成功安装 scrapy 的步骤
- java object 比较_Java比较两个对象
- iPhone开发经典语录
- linux 停止jar 指令,Linux编辑启动、停止与重启springboot jar包脚本实例
- 如何清理电脑c盘_【电脑】第一期干货:如何正确清理C盘?
- java实现 tf-idf
- SAP 43亿美元收购Ariba 拓展云计算市场
- ios共享账号公众号_新增iOS应用账号共享09
- Python 资源索引[绝对适合PYTHON人]
- turtle库绘图:绘制QQ所有表情
- cubic 插值和 bicubic,pytorch, opencv和matlab的实现差异
- WPS解决账号登录验证问题(软件抓包重写过验证通用方法)
- 钢琴五线谱 学习分享(兴趣爱好)
- 哪个心情不好来看看,老逗了
- 微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前)
- 灰狼优化算法训练多层感知神经网络研究(Matlab代码实现)
- 计算机网络hdcp是什么意思,4.HDCP:支持高带宽数字内容保护协议HDCP
- 利用for循环,计算1+2+3+……+100。等差数列求和
- Objective-C(八、正式协议Protocol,非正式协议informal protocol)——iOS开发基础
- 基于matlab的动态规划程序实现,基于MATLAB的动态规划常用算法的实现
热门文章
- how to use automake to build files
- LabelSmoothing标签平滑
- 自定义训练中保存检查点
- 【matlab】直方图(hist函数的应用)
- android actionbar tab,ActionBar+Fragment实现Tab
- Python进程间通信之管道Pipe
- 用python写一个程序来验证每个数字的生成概率是否相同_Python实现简单生成验证码功能【基于random模块】...
- tomcat上的javaweb项目如何将ip地址更换为域名_Java Web 路线规划
- 从零开始刷Leetcode——数组(31.33)
- java 串口通信问题_jsp,java串口通信的问题