在使用DXperience开发winform过程中 也许你需要使用XtraTabControl代码动态添加XtraTabPage, 其实动态添加XtraTabPage 并不难 下面看下以下代码 基本实现了动态添加page功能 双击关闭Page的功能
以下是代码片段: /// <summary> /// 添加到Tab控件里 /// </summary> /// <param name="Xuser">要添加的用户控件实例</param> /// <param name="name"> 控件唯一的 name 属性</param> /// <param name="caption">显示标题 caption</param> private void AaddUserControl(DevExpress.XtraEditors.XtraUserControl Xuser,string name, string caption) { try { XtraTabPage page = new XtraTabPage(); page.Name = name; //控件标示 page.Text = caption; //显示标题 Xuser.Dock = System.Windows.Forms.DockStyle.Fill; //dock属性 全屏撑大 page.Controls.Add(Xuser); pagetab.TabPages.Add(page); pagetab.SelectedTabPage = page; //首页显示 } catch (Exception ex) { MessageBox.Show(ex.Message); } } |
遍历 XtraTabControl 中 打开的XtraTabPage 窗口 返回 指定name值的 序列号
以下是代码片段: /// <summary> /// 遍历打开的窗口 /// </summary> /// <param name="value">name值</param> /// <returns></returns> public int GetTabName(string value) { int count = -1; for (int i = 0; i < XtraTabControl1.TabPages.Count; i++) { if (XtraTabControl1.TabPages[i].Name == value) { return i; } } return count; } |
设置 XtraTabControl 的显示首页;
int i = GetTabName(pagename); //查询Tab控件中是否有此 name属性 上面的函数查找
if (i != -1)
{
XtraTabControl1.SelectedTabPageIndex = i;
}
双击关闭页面功能 点击xtraTabControl1控件 切换到事件窗口 添加DoubleClick事件 代码如下
以下是代码片段:
/// <summary>
/// tab控件表头双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void xtraTabControl1_DoubleClick(object sender, System.EventArgs e)
{
if (CurrentPage != null)
{
CurrentPage.Dispose();
}
}