看下效果吧
下面是一个公共的添加方法
看代码
[C#] 纯文本查看 复制代码 /// <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
[C#] 纯文本查看 复制代码 /// </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;//不存在
}
下面的调用添加
[C#] 纯文本查看 复制代码 try
{
//声部门控件对象
UserDepartments objfrm = new UserDepartments();
//调用添加选项卡的方法
addTabControl("Departments", "部门信息", MainTabControl, objfrm);
}
catch (Exception)
{
showMessages objshowMesages = new showMessages();
objshowMesages.ShowDialog("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
}
这样就可以动态的添加了, 还可以删除
[C#] 纯文本查看 复制代码 try
{
MainTabControl.TabPages.Remove(MainTabControl.SelectedTab);
}
catch
{
showMessages objshowMesages = new showMessages();
objshowMesages.ShowDialog("提示信息", "已没有项目可删!");
}
|