Dev XtraTabControl 动态增加Tab和关闭功能选项卡
添加单元 using DevExpress.XtraTab
关键技术
- XtraTabControl 是容器,其中的TabPages 属性为选项卡
- XtraTabControl 容器的ClosePageButtonShowMode 属性是个枚举类型
- Default 不显示关闭按钮
- InActiveTabPageAndTabControlHeader 只有激活状态选项卡显示关闭按钮 (较常用)
- InActiveTabPageHeaderAndOnMouseHover 激活状态和鼠标移入选项卡显示关闭按钮
- InAllTabPageHeaders 所有选项卡都显示关闭按钮
- InAllTabPagesAndTabControlHeader 同上
- InTabControlHeader 同Default
使用方法:
XtralTabPage tabPage=new xtraTabControl1.TabPages.Add(); //添加页签
Form frm=new Form();// 创建窗体对象
frm.TopLevel=false; //设置窗体顶级属性为false,这一句重要,如果不设置则无法进行下面的工作
frm.FormBorderStyle=FormBorderStyle.None;
tabPage.Controls.Add(frm);//选项卡作为容器,把窗体对象frm加入到其Controls 控件数组中
xtraTabControl1.ClosePageShowMode=ClosePageButtonShowMode.InTabControlHeader;//设置容器控件xtraTabControl1的ClosPageButtonShowMode 属性,该属性决定选项卡是否显示关闭按钮,如上说明.
xtraTabControl1.CloseButtonclick+=XtraTabControl1_CloseButtonClick; //给关闭按钮增加委托方法,处理关闭按钮点击事件
private viod XtraTabControl1_CloseButtonClick(object sender,EventArgs e){
DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs EArg=(DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e;
string name = EArg.Page.Text;//得到关闭的选项卡的text
foreach (XtraTabPage page in xtraTabControl1.TabPages) //遍历得到和关闭选项卡一样的text
{
if (page.Text == name)
{
xtraTabControl1.TabPages.Remove(page);
page.Dispose();
return;
}
}
}