private void OpenKnxUiPrject() { Cursor = Cursors.WaitCursor; if (Saved == false) { var result = MessageBox.Show(ResourceMng.GetString("Message7"), ResourceMng.GetString("Message4"), MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); if (DialogResult.Yes == result) { SaveKnxUiProject(ProjectFile); Cursor = Cursors.Default; return; } else if (DialogResult.No == result) { } else if (DialogResult.Cancel == result) { Cursor = Cursors.Default; return; } } try { using (var ofd = new OpenFileDialog()) { ofd.InitialDirectory = MyCache.DefaultKnxProjectFolder; ofd.Filter = KnxFilter; ofd.FilterIndex = 1; ofd.DefaultExt = MyConst.KnxUiEditorFileExt; ofd.RestoreDirectory = true; if (ofd.ShowDialog(this) == DialogResult.OK) { // 新建项目文件夹 CreateProjectFolder(); var projectFile = ofd.FileName; Debug.WriteLine(projectFile); Debug.WriteLine(MyCache.ProjectFolder); ZipHelper.UnZipDir(projectFile, MyCache.ProjectFolder, MyConst.MyKey); var app = AppStorage.Load(); if (app != null) { // 导入所有节点 AppNode appNode = FrmMainHelp.ImportNode(app); SetProjectOutline(appNode); ProjectFile = ofd.FileName; ShowProjectFile(ProjectFile); // //ToolBarStatus status = new ToolBarStatus { collapse = true, expand = true, searchBox = true, importKnx = true }; //SetButtonStatus(status); SetToolStripButtonStatus(false); SetToolStripButtonKNXAddrStatus(true); SetToolStripButtonSaveStatus(true); ResetParameter(); CreateCommandManager(); CloseAllTabPages(); Saved = true; } else { throw new ApplicationException(ResourceMng.GetString("Message8")); } } } } catch (Exception ex) { string errorMsg = ResourceMng.GetString("Message8"); MessageBox.Show(errorMsg, ResourceMng.GetString("Message6"), MessageBoxButtons.OK, MessageBoxIcon.Error); Log.Error(errorMsg + LogHelper.Format(ex)); } finally { Cursor = Cursors.Default; } }