阅读全文并下载全部代码:http://www.cckan.net/forum.php?mod=viewthread&tid=66
添加的方法看代码

Code

/**//// <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("提示信息", "添加选项卡时出错,请检查是否正确连接数据");
}
}

下面的验证是否存在

Code
/// </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;//不存在
}
下面的调用添加

Code
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("提示信息", "已没有项目可删!");
}
本人的博客不再维护从2013年就不再维护了
需要我帮助的朋友请到我的个人论坛 http://www.sufeinet.com 进行讨论,感谢大家对我的支持!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述