public void ChartForm_OnReporterMniClicked(object sender, EventArgs e) { var mniClicked = sender as ToolStripMenuItem; if (mniClicked == null) { string msg = "ChartForm_OnReporterMniClicked() should receive a click on ToolStripMenuItem, received from [" + sender.GetType() + "]"; throw new Exception(msg); } string reporterShortNameClicked = mniClicked.Text; bool beforeCheckPropagatedInverted = mniClicked.Checked; try { if (beforeCheckPropagatedInverted == true) { Reporter reporterToBeClosed = this.ReporterShortNamesUserInvoked[reporterShortNameClicked]; this.ReporterClosingUnregisterMniUntick(reporterToBeClosed.GetType().Name); //reporterToBeClosed.ParentForm.Close(); DockContent form = reporterToBeClosed.Parent as DockContent; form.Close(); } else { this.ReporterActivateShowRegisterMniTick(reporterShortNameClicked); } this.ChartFormManager.MainForm.MainFormSerialize(); } catch (Exception ex) { this.ChartFormManager.MainForm.PopupException(ex); return; } //nope, doing that in ReporterActivateShowRegisterMniTick() ReporterClosingUnregisterMniUntick() //mniClicked.Checked = !mniClicked.Checked; }
internal void RemoveTab(DockContent tabPage) { if (tabPage != null) { tabPage.Close(); } }
private void menuItemClose_Click(object sender, EventArgs e) { DockContent dc = null; bool found = false; foreach (IDockContent document in this.DockHandler.DockPanel.Documents) { dc = (document as DockContent); if (dc != null && dc.TabText == this.TabText) { found = true; break; } } if (found) { if (this.renderThread != null) { this.renderThread.Abort(); } if (this.Scene != null && this.Scene.Primitives != null) { this.Scene.Primitives.Clear(); } dc.Close(); } }
private void CloseWindowIfInSameScope(DockContent toClose, DockContent tabInSameScopeOrNull) { var parent = tabInSameScopeOrNull == null ? null : tabInSameScopeOrNull.Parent; if (toClose != null && (parent == null || toClose.Parent == parent)) { toClose.Close(); } }
private void menuItemCloseAll_Click(object sender, EventArgs e) { IDockContent[] contents = this.DockHandler.DockPanel.Documents.ToArray(); for (int i = 0; i < contents.Length; i++) { DockContent document = (DockContent)contents[i]; document.Close(); } }
private void LogOutMenuItem_Click(object sender, EventArgs e) { _dockContent.Close(); _operationToolbox?.Close(); _MessageToolbox?.Close(); LoginMenuItem.Enabled = true; var f = new FrmLogin(); f.Show(); Hide(); }
public void Close(Type type) { if (formContainer.ContainsKey(type)) { DockContent form = formContainer[type]; formContainer.Remove(type); form.Close(); form = null; } }
private void HandleDockContentToolStripMenuClick(DockContent dockWindow, DockState state) { if (dockWindow.IsHidden || dockWindow.DockState == DockState.Unknown) { dockWindow.Show(dockPanel, state); } else { dockWindow.Close(); } }
public void ForceWindowsClose() { while (documentViews.Count > 0) { DockContent doc = documentViews[0]; doc.Close(); //this window should be removed from documentViews on closing documentViews.Remove(doc); } documentViews.Clear(); dockPanel.ActiveDocumentChanged -= new EventHandler(OnActiveDocumentChanged); }
private void menuItemCloseButThis_Click(object sender, EventArgs e) { IDockContent[] contents = this.DockHandler.DockPanel.Documents.ToArray(); for (int i = 0; i < contents.Length; i++) { DockContent dc = (DockContent)contents[i]; if (dc.TabText != this.TabText) { dc.Close(); } } }
public DockContent Activate(DeserializeInstruction instruction) { if (instruction.DatabaseObject != null && instruction.ObjectCollection != null) { throw new ArgumentException("DeserializeInstruction cannot have both a DatabaseObject and an ObjectCollection"); } var c = _constructor.Construct(instruction.UIControlType); var uiInstance = c as IRDMPSingleDatabaseObjectControl; var uiCollection = c as IObjectCollectionControl; //it has a database object so call SetDatabaseObject if (uiCollection != null) { //if we get here then Instruction wasn't for a return(Activate(uiCollection, instruction.ObjectCollection)); } else if (uiInstance != null) { var databaseObject = instruction.DatabaseObject; //the database object is gone? deleted maybe if (databaseObject == null) { return(null); } DockContent floatable = WindowFactory.Create(this, RefreshBus, uiInstance, CoreIconProvider.GetImage(databaseObject), databaseObject); floatable.Show(_mainDockPanel, DockState.Document); try { uiInstance.SetDatabaseObject(this, (DatabaseEntity)databaseObject); SetTabText(floatable, uiInstance); } catch (Exception e) { floatable.Close(); throw new Exception("SetDatabaseObject failed on Control of Type '" + instruction.UIControlType.Name + "', control closed, see inner Exception for details", e); } return(floatable); } else { throw new PersistenceException("DeserializeInstruction must have either a DatabaseObject or an ObjectCollection"); } }
private void tsmiCloseAll_Click(object sender, EventArgs e) { for (int i = this.dockPanel1.Contents.Count - 1; i >= 0; i--) { if (this.dockPanel1.Contents[i] is DockContent) { DockContent dock = (DockContent)this.dockPanel1.Contents[i]; if (!dock.Equals(_customerGroup)) { dock.Close(); } } } }
public void Remove(string key) { if (dockContents.ContainsKey(key)) { DockContent content = dockContents[key]; content.Close(); //remove event handlers content.FormClosing -= content_FormClosing; content.FormClosed -= content_FormClosed; content.Dispose(); dockContents.Remove(key); OnPanelRemoved(key); } }
/// <summary> /// 开始 /// </summary> /// <param name="path"></param> private void Start(string path) { _dock1?.Close(); _dock1 = new Dock(); _dock1.Show(dockPanel1, DockState.DockLeft); for (int i = dockPanel1.Documents.Count() - 1; i >= 0; i--) { DockContent dc = (DockContent)dockPanel1.Documents.ElementAt(i); dc.Close(); } About about = new About { MdiParent = this }; about.Show(dockPanel1); }
/// <summary> /// Closes the tab. /// </summary> /// <param name="forceClose">'true' to bypass the Unsaved Changes prompt.</param> /// <returns>'true' if the tab was closed; 'false' on cancel.</returns> public bool Close(bool forceClose = false) { if (forceClose || PromptSave()) { // unsubscribe FormClosing event to prevent duplicate prompt _content.FormClosing -= on_FormClosing; // save view state and close tab SaveViewState(); _content.Close(); return(true); } else { return(false); } }
/// <summary> /// Close a document form /// </summary> /// <param name="document">The document to close</param> public void CloseDocumentForm(IDocumentObject document) { if (InvokeRequired) { Invoke(new Action <IDocumentObject>(CloseDocumentForm), document); } else { if (_entries.ContainsKey(document)) { DockContent win = _entries[document]; if ((win != null) && (!win.IsDisposed)) { win.Close(); } } } }
public void LoadPanelsFromXML() { try { Windows.TreePanel = null; Windows.ConfigPanel = null; Windows.ErrorsPanel = null; while (_MainForm.pnlDock.Contents.Count > 0) { DockContent dc = (DockContent)_MainForm.pnlDock.Contents[0]; dc.Close(); } CreatePanels(); #if !PORTABLE string oldPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\" + GeneralAppInfo.ProdName + "\\" + SettingsFileInfo.LayoutFileName; #endif string newPath = SettingsFileInfo.SettingsPath + "\\" + SettingsFileInfo.LayoutFileName; if (File.Exists(newPath)) { _MainForm.pnlDock.LoadFromXml(newPath, GetContentFromPersistString); #if !PORTABLE } else if (File.Exists(oldPath)) { _MainForm.pnlDock.LoadFromXml(oldPath, GetContentFromPersistString); #endif } else { Startup.Instance.SetDefaultLayout(); } } catch (Exception ex) { Logger.Instance.Error("LoadPanelsFromXML failed" + Environment.NewLine + ex.Message); } }
private void FlashPanel_FormClosed(object sender, FormClosedEventArgs e) { try { closed = true; if (outSocket != null) { outSocket.Close(); } if (inSocket != null) { inSocket.Close(); } traceDock.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void 重新加载当前文件ToolStripMenuItem_Click(object sender, EventArgs e) { DockContent activeDocument = (DockContent)dockPanel1.ActiveDocument; if (activeDocument?.Tag == null) { return; } string tbName = activeDocument.Tag.ToString(); DialogResult dr = MessageBox.Show($"请确认是否放弃对文件[{tbName}]的所有修改,并重新加载当前文件内容", @"提示信息", MessageBoxButtons.OKCancel); if (dr != DialogResult.OK) { return; } DataHelper.XkfyData.Tables.Remove(tbName); if (DataHelper.FormConfig[tbName].DtType == "1") { DataHelper.XkfyData.Tables.Remove(tbName + "_D"); } FileHelper.LoadTable(tbName); activeDocument.Close(); }
public void UnloadPad(FormsDesigner.IPadContent content) { if (content == null) { return; } DockContent dockContent = content.Control as DockContent; if (dockContent == null) { dockContent = content.Control.Parent as DockContent; } dockContent.Close(); PadContentCollection.Remove(content); if (_layout != null) { _layout.UnloadPad(content); } content.Dispose(); }
private void 重新加载当前文件ToolStripMenuItem_Click(object sender, EventArgs e) { DockContent d = (DockContent)dockPanel1.ActiveDocument; if (d == null || d.Tag == null) { return; } string fmName = d.Text.Replace("*", ""); string tbName = d.Tag.ToString(); string fileName = string.Empty; string prefix = fmName.Substring(0, 3); string keyName = fmName.Substring(3); if (prefix == "[M]") { DataHelper.MapData.Tables.Remove(tbName); fileName = "MapInfo"; //读取MAP文件 ToolsHelper.ReadMapData(DataHelper.MapFile[keyName], tbName, fileName); } else if (prefix == "[N]") { DataHelper.MapData.Tables.Remove(tbName); fileName = "NpcProduct"; //读取NpcConduct ToolsHelper.ReadMapData(DataHelper.MapFile[keyName], tbName, fileName); } else { if (DataHelper.FormConfig[tbName].DtType == "1") { DataHelper.XkfyData.Tables.Remove(DataHelper.FormConfig[tbName].MainDtName); DataHelper.XkfyData.Tables.Remove(DataHelper.FormConfig[tbName].DetailDtName); } else { DataHelper.XkfyData.Tables.Remove(tbName); } DataHelper.ExistTable(tbName); } d.Close(); //反射实例化窗体 DockContent dc = (DockContent)Assembly.Load("xkfy_mod").CreateInstance("xkfy_mod." + tbName); //如果对象为空,则代表使用的是公共窗口 if (dc == null) { if (prefix != "[M]" && prefix != "[N]") { fileName = "other"; } Almighty a = new Almighty(tbName, fileName); a.Text = fmName; a.Tag = tbName; a.Show(this.dockPanel1, DockState.Document); } else { dc.Text = fmName; dc.Tag = tbName; dc.Show(this.dockPanel1, DockState.Document); } }
/// <summary> /// Shows the content. /// </summary> /// <param name="vc">The vc.</param> /// <param name="region">The region.</param> public void ShowContent(IViewContent vc, ViewRegion region) { TabManager tm = ServiceManager.Instance.GetService <TabManager>(); DockContent content = new DockContent(); content.TabText = vc.Title; content.Text = vc.Title; content.ToolTipText = vc.Title; content.CloseButton = vc.CanClose; switch (region) { case ViewRegion.Bottom: content.DockAreas = DockAreas.DockBottom; break; case ViewRegion.Top: content.DockAreas = DockAreas.DockTop; break; case ViewRegion.Left: content.DockAreas = DockAreas.DockLeft; break; case ViewRegion.Right: content.DockAreas = DockAreas.DockRight; break; case ViewRegion.Document: content.DockAreas = DockAreas.Document; break; case ViewRegion.Floating: content.DockAreas = DockAreas.Float; break; } vc.TitleChanged += delegate(object sender, EventArgs e) { content.TabText = vc.Title; content.Text = vc.Title; content.ToolTipText = vc.Title; }; vc.ViewContentClosing += delegate(object sender, EventArgs e) { if (vc.CanClose) { content.Close(); } }; content.ClientSize = vc.ContentControl.Size; content.CloseButton = vc.CanClose; vc.ContentControl.Dock = DockStyle.Fill; content.Controls.Add(vc.ContentControl); if (vc is IConnectionDependentView) { tm.Register((IConnectionDependentView)vc); } if (region == ViewRegion.Dialog) { content.StartPosition = FormStartPosition.CenterParent; content.ShowDialog(); } else { content.Show(contentPanel); } }