public static void Add_TabPage(string str, BaseUserControl myForm) //将标题添加进tabpage中 { if (!tabControlCheckHave(Program.TabcMain, str)) { MyXtraTabPage page = new MyXtraTabPage(); myForm.BorderStyle = BorderStyle.None; myForm.Parent = Program.TabcMain.SelectedTabPage; myForm.Dock = DockStyle.Fill; page.Text = str; page.Controls.Add(myForm); Program.TabcMain.TabPages.Add(page); Program.TabcMain.SelectedTabPageIndex = ValueConvert.ToInt32(Program.TabcMain.TabPages.Count - 1); } }
protected override void WndProc(ref Message m) { if (m.Msg == WM_SYSCOMMAND) { if (m.WParam.ToInt64() == SC_MAXIMIZE)//最大化 { //自定义的tab页面 NoHeaderXtraTabControl.MyXtraTabPage page = new MyXtraTabPage(); page.Tag = this.Tag; page.Text = this.Text; page.Controls.Add(this.Controls[0]); this.tabc_Main.TabPages.Add(page);//最大化后,显示在tab控件内 this.tabc_Main.SelectedTabPage = page; isRemove = false; this.RefreshHistoryTreeList();//刷新工作列表 this.Close(); } else if (m.WParam.ToInt64() == SC_MINIMIZE)//最小化 { if (this.Tag != null && !Program.HtMinimizeForm.Contains(this.Tag)) { Program.HtMinimizeForm.Add(this.Tag.ToString(), this);//保存最小化窗体 } } else if (m.WParam.ToInt64() == SC_CLOSE) //关闭 { if (this.Tag != null) //guid { //移除工作列表节点 var node = Program.ArrHistoryNode.Find(n => n.guid == this.Tag.ToString() && n.Array == 3); if (node != null) { if (!node.formIsSaved && MsgBox.ShowYesNo("确定取消编辑,退出吗?") != DialogResult.Yes) { return; } if (node.formRecordID != -1) { FormPageOperation.ClearUserTempData(node.guid, node.formName, node.formRecordID);//清除临时表数据 } } } } } base.WndProc(ref m); }