static private void Save(IDockContent form) { if (form is BaseEditViewForm) { BaseEditViewForm view = (BaseEditViewForm)form; if (view.IsModified) { view.Save(); ///两个文件触发这个事件,还有个地方是EditView.cs InternalService.OnWorkDocumentSaved( new WorkDocumentEventArgs(view.WorkDocumentType, view.Id)); } } }
protected BaseViewForm() { //顶部的上下文菜单 saveMenuItem = new ToolStripMenuItem("保存"); closeMenuItem = new ToolStripMenuItem("关闭"); closeAllWithoutThisMenu = new ToolStripMenuItem("除此之外全部关闭"); gotoTreeMenuItem = new ToolStripMenuItem("定位到树中"); _contextMenuStrip.Items.Add(saveMenuItem); _contextMenuStrip.Items.Add(closeMenuItem); _contextMenuStrip.Items.Add(closeAllWithoutThisMenu); _contextMenuStrip.Items.Add(gotoTreeMenuItem); this.TabPageContextMenuStrip = _contextMenuStrip; saveMenuItem.Click += delegate { if (this is BaseEditViewForm) { BaseEditViewForm editViewThis = (BaseEditViewForm)this; if (editViewThis.IsModified) { editViewThis.Save(); } } }; closeMenuItem.Click += delegate { this.Close(); }; closeAllWithoutThisMenu.Click += delegate { Service.Workbench.CloseAllForm(this); }; gotoTreeMenuItem.Click += delegate { Service.Workbench.GotoTree(this); }; this.DockAreas = DockAreas.Document; _contextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(_contextMenuStrip_Opening); }