/// <summary> /// 更新一条数据 /// </summary> public bool Update(Model.ExchangeInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update ExchangeInfo set "); strSql.Append("HotKeyID=@HotKeyID,"); strSql.Append("ExchangeText=@ExchangeText,"); strSql.Append("ShiftKey=@ShiftKey,"); strSql.Append("MainKey=@MainKey"); strSql.Append(" where RecordID=@RecordID"); SQLiteParameter[] parameters = { new SQLiteParameter("@HotKeyID", DbType.Int32, 8), new SQLiteParameter("@ExchangeText", DbType.String), new SQLiteParameter("@ShiftKey", DbType.String), new SQLiteParameter("@MainKey", DbType.String), new SQLiteParameter("@RecordID", DbType.Int32, 8) }; parameters[0].Value = model.HotKeyID; parameters[1].Value = model.ExchangeText; parameters[2].Value = model.ShiftKey; parameters[3].Value = model.MainKey; parameters[4].Value = model.RecordID; int rows = DbHelperSQLite.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 单元格点击 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dgv_KeyTextPair_CellClick(object sender, DataGridViewCellEventArgs e) { exchangeModel = GetDataRowModel(dgv_KeyTextPair.Rows[e.RowIndex]); cmb_RecvKey_Shift.Text = exchangeModel.ShiftKey; cmb_RecvKey_Main.Text = exchangeModel.MainKey; txt_PrintText_e.Text = exchangeModel.ExchangeText; }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Model.ExchangeInfo model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into ExchangeInfo("); strSql.Append("HotKeyID,ExchangeText,ShiftKey,MainKey)"); strSql.Append(" values ("); strSql.Append("@HotKeyID,@ExchangeText,@ShiftKey,@MainKey)"); strSql.Append(";select LAST_INSERT_ROWID()"); SQLiteParameter[] parameters = { new SQLiteParameter("@HotKeyID", DbType.Int32, 8), new SQLiteParameter("@ExchangeText", DbType.String), new SQLiteParameter("@ShiftKey", DbType.String), new SQLiteParameter("@MainKey", DbType.String) }; parameters[0].Value = model.HotKeyID; parameters[1].Value = model.ExchangeText; parameters[2].Value = model.ShiftKey; parameters[3].Value = model.MainKey; object obj = DbHelperSQLite.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Model.ExchangeInfo DataRowToModel(DataRow row) { Model.ExchangeInfo model = new Model.ExchangeInfo(); if (row != null) { if (row["RecordID"] != null && row["RecordID"].ToString() != "") { model.RecordID = int.Parse(row["RecordID"].ToString()); } if (row["HotKeyID"] != null && row["HotKeyID"].ToString() != "") { model.HotKeyID = int.Parse(row["HotKeyID"].ToString()); } if (row["ExchangeText"] != null) { model.ExchangeText = row["ExchangeText"].ToString(); } if (row["ShiftKey"] != null) { model.ShiftKey = row["ShiftKey"].ToString(); } if (row["MainKey"] != null) { model.MainKey = row["MainKey"].ToString(); } } return(model); }
/// <summary> /// 列表中的某一行转换成Model /// </summary> /// <param name="dr"></param> /// <returns></returns> private Model.ExchangeInfo GetDataRowModel(DataGridViewRow dr) { Model.ExchangeInfo retmodel = new Model.ExchangeInfo(); retmodel.RecordID = int.Parse(dr.Cells["RecordID"].Value.ToString()); retmodel.HotKeyID = int.Parse(dr.Cells["HotKeyID"].Value.ToString()); retmodel.ShiftKey = dr.Cells["ShiftKey"].Value.ToString(); retmodel.MainKey = dr.Cells["MainKey"].Value.ToString(); retmodel.ExchangeText = dr.Cells["ExchangeText"].Value.ToString(); return(retmodel); }
/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Delete_e_Click(object sender, EventArgs e) { if (dgv_KeyTextPair.SelectedRows.Count < 0) { return; } exchangeModel = GetDataRowModel(dgv_KeyTextPair.SelectedRows[0]); exchangeList.RemoveAll(i => i.RecordID == exchangeModel.RecordID); SystemHotKey.UnRegHotKey(this.Handle, exchangeModel.HotKeyID.Value); exchangeList.RemoveAll(i => i.RecordID == exchangeModel.RecordID); }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Save_e_Click(object sender, EventArgs e) { if (cmb_RecvKey_Shift.Text == "None" && cmb_RecvKey_Main.Text == "None") { return; } if (exchangeModel != null) { exchangeModel.ExchangeText = txt_PrintText_e.Text; exchangeModel.ShiftKey = cmb_RecvKey_Shift.Text; exchangeModel.MainKey = cmb_RecvKey_Main.Text; exchangeList.RemoveAll(i => i.RecordID == exchangeModel.RecordID); exchangeList.Add(exchangeModel); exchangeBll.Update(exchangeModel); SystemHotKey.UnRegHotKey(this.Handle, exchangeModel.HotKeyID.Value); } else { exchangeModel = new Model.ExchangeInfo(); for (int i = 7010; i < 10000; i++) { if (!exchangeList.Select(m => m.HotKeyID).Contains(i)) { exchangeModel.HotKeyID = i; break; } } exchangeModel.ExchangeText = txt_PrintText_e.Text; exchangeModel.ShiftKey = cmb_RecvKey_Shift.Text; exchangeModel.MainKey = cmb_RecvKey_Main.Text; exchangeList.Add(exchangeModel); exchangeBll.Add(exchangeModel); } if (!SystemHotKey.RegisterHotKey(this.Handle, exchangeModel.HotKeyID.Value, (EnumClass.KeyModifiers)Enum.Parse(typeof(EnumClass.KeyModifiers), exchangeModel.ShiftKey), (Keys)Enum.Parse(typeof(Keys), exchangeModel.MainKey))) { MessageBox.Show("热键注册失败"); } dgv_KeyTextPair.DataSource = exchangeList.ToArray(); dgv_KeyTextPair.Columns["Key"].HeaderText = "接收按键"; dgv_KeyTextPair.Columns["Value"].HeaderText = "输出文本"; }
/// <summary> /// 得到一个对象实体 /// </summary> public Model.ExchangeInfo GetModel(int RecordID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select RecordID,HotKeyID,ExchangeText,ShiftKey,MainKey from ExchangeInfo "); strSql.Append(" where RecordID=@RecordID"); SQLiteParameter[] parameters = { new SQLiteParameter("@RecordID", DbType.Int32, 4) }; parameters[0].Value = RecordID; Model.ExchangeInfo model = new Model.ExchangeInfo(); DataSet ds = DbHelperSQLite.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }