public Edit(string DBID) { InitializeComponent(); this.DBid = DBID; SettingDataBase.DB db = SettingDataBase.DB.getInstance(DBID); if (db != null) { ZIKU.DataBase.Config d = ZIKU.DataBase.Config.getInstance(db.path);//获取实际数据库文件的信息 if (d != null) { dbName.Text = d.name; dbDataFolder.text = d.dataFolderShow; } else { dbName.Text = db.name; dbDataFolder.Enabled = false; } dbFilePath.Text = db.path; } else { dbName.Text = "找不到该数据库文件在软件配置中的信息"; dbName.Enabled = false; dbFilePath.Enabled = false; dbFilePath.Text = "请指定一个现有的数据库文件"; dbDataFolder.Enabled = false; save.Enabled = false; } }
private void menu_Opening(object sender, CancelEventArgs e) { editDB_Menu.Visible = false; switchDB_Menu.Visible = false; removeDBInfo_Menu.Visible = false; if (DBListView.SelectedItems.Count > 0) { editDB_Menu.Visible = true; SettingDataBase.DB db = SettingDataBase.DB.getInstance(DBListView.SelectedItems[0].Tag.ToString()); if (DBListView.SelectedItems[0].Text == "●当前使用") { removeDBInfo_Menu.Visible = false; switchDB_Menu.Visible = false; } else { removeDBInfo_Menu.Visible = true; if (System.IO.File.Exists(Environment.ExpandEnvironmentVariables(db.path))) { switchDB_Menu.Visible = true; } else { DBListView.SelectedItems[0].Text = "×"; switchDB_Menu.Visible = false; } } } }
public NotExists(string DBid) { InitializeComponent(); this.Icon = Properties.Resources.ICON; this.DBid = DBid; SettingDataBase.DB db = SettingDataBase.DB.getInstance(DBid); dbFilePath.Text = db.path; }
private void removeDBInfo_Menu_Click(object sender, EventArgs e) { SettingDataBase.DB db = SettingDataBase.DB.getInstance(DBListView.SelectedItems[0].Tag.ToString()); if (MessageBox.Show("确定移除“" + db.name + "”的信息?\r\n\r\n该操作不会删除真实的数据库文件", "移除数据库文件信息", MessageBoxButtons.OKCancel, MessageBoxIcon.None, MessageBoxDefaultButton.Button2) == DialogResult.OK) { SettingDataBase.DB.removeDB(db.id); DBListView.Items.Remove(DBListView.SelectedItems[0]); } }
private void switchDB_Menu_Click(object sender, EventArgs e) { if (DBListView.SelectedItems.Count > 0) { SettingDataBase.DB db = SettingDataBase.DB.getInstance(DBListView.SelectedItems[0].Tag.ToString()); if (!System.IO.File.Exists(System.Environment.ExpandEnvironmentVariables(db.path))) { DBListView.SelectedItems[0].Text = "×"; return; } if (!ZIKU.DataBase.Options.setUseDB(db.id)) { DBListView.SelectedItems[0].Text = "×"; MessageBox.Show("该数据库文件有误,无法切换"); return; } SettingDataBase.Config.Instance = null; Close(); } }
static void Main(string[] args) { string z = ZIKUPATH; #region 捕捉未知错误的引用 Application.ThreadException += new ThreadExceptionEventHandler(UIThreadException); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); #endregion Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //检查是否有配置文件 if (!System.IO.File.Exists(_zikuSettingPath)) { Welcome.show(); } //检查数据库文件是否存在 SettingDataBase.DB db = SettingDataBase.DB.getInstance(SettingDataBase.Config.Instance.DataBaseID); if (db != null) { if (!System.IO.File.Exists(System.Environment.ExpandEnvironmentVariables(db.path))) { ZIKU.Control.DataBase.NotExists notExists = new Control.DataBase.NotExists(SettingDataBase.Config.Instance.DataBaseID); notExists.ShowDialog(); } } else { Control.DataBase.NotExists notExists = new Control.DataBase.NotExists(SettingDataBase.Config.Instance.DataBaseID); notExists.ShowDialog(); } //设置使用的数据库 if (!DataBase.Options.setUseDB(SettingDataBase.Config.Instance.DataBaseID)) { } //启动主窗口 IntPtr ihand = FindWindow(null, mainFormTitle); if (ihand == IntPtr.Zero) { if (args.Length == 0) { Application.Run(new MainForm()); } else { if (args[0] == "startup") { Application.Run(new HideOnStartupApplicationContext(new MainForm())); } else if (args[0].StartsWith("item:")) { Application.Run(new HideOnStartupApplicationContext(new MainForm(args[0].Remove(0, 5)))); } else { Application.Run(new MainForm()); } } } else { if (args.Length == 0) { SendMessage(ihand, Message.WM_NOTIFYICON, 300, 300); } else { if (args[0].StartsWith("item:")) { myZiku.run(DataBase.Item.getInstance(args[0].Remove(0, 5))); } else { SendMessage(ihand, Message.WM_NOTIFYICON, 300, 300); } } } }