将用户控件添加到选项卡
2015-12-24 10:46
225 查看
原文:http://www.cnblogs.com/sufei/archive/2009/04/22/1441097.html
添加的方法看代码
/// <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("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
}
}
下面的验证是否存在
/// </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;//不存在
}
下面的调用添加
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("提示信息", "已没有项目可删!");
}
添加的方法看代码
/// <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("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
}
}
下面的验证是否存在
/// </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;//不存在
}
下面的调用添加
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("提示信息", "已没有项目可删!");
}
相关文章推荐
- Android Studio查看类结构的快捷键
- IOS 手机端搜索硬件设备 --- 物联网
- myeclipse
- 06.(java基础)面试题--03 abstract的用法,以及abstract和interface的异同
- git
- 圆形图片
- listView和gridView中item复用的相关问题
- javax.mail.AuthenticationFailedException: 535 authentication failed
- SSH三大框架的工作原理及流程
- ubuntu安装使用cmake
- jeecms添加站点
- NetBeans的JDBC配置
- iOS完整学习路线图
- UVA-11167 Monkeys in the Emei Mountain(区间模型最大流+输出方案)
- mysql备份和恢复
- Dubbo学习过程、使用经验分享及实现原理简单介绍
- java中对日期的处理
- curator源码(一) 初始化、启动和关闭。
- 全民Scheme(0):lat的定义
- 青瓷引擎研发