2018.9.
--往GridControl中添加绑定数据
// 房间费用
DataTable dtRoomInfo = new DataTable();
dtRoomInfo.Columns.Add("v_name", Type.GetType("System.String"));
dtRoomInfo.Columns.Add("t_kt_time", Type.GetType("System.String"));
dtRoomInfo.Columns.Add("v_ktsc", Type.GetType("System.String"));
dtRoomInfo.Columns.Add("v_jfgz_name", Type.GetType("System.String"));
dtRoomInfo.Columns.Add("f_room_money", Type.GetType("System.String")); DataRow rowRoomInfo = dtRoomInfo.NewRow();
rowRoomInfo["v_name"] = ddModel.v_czzl_name;
rowRoomInfo["t_kt_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
decimal hour = decimal.Parse((ddModel.i_jfsc * 1.0 / ( * )).ToString());
rowRoomInfo["v_ktsc"] = ((int)hour).ToString() + "小时" + ((hour - (int)hour) * ).ToString("") + "分钟";
rowRoomInfo["v_jfgz_name"] = ddModel.v_jfgz_name;
rowRoomInfo["f_room_money"] = ddModel.f_room_money.ToString();
dtRoomInfo.Rows.Add(rowRoomInfo);
this.gridControlRoomInfo.DataSource = dtRoomInfo; //预付款
DataTable dtYFMoney = new DataTable();
dtYFMoney.Columns.Add("v_fkfs", Type.GetType("System.String"));
dtYFMoney.Columns.Add("t_time", Type.GetType("System.String"));
dtYFMoney.Columns.Add("f_yf_money", Type.GetType("System.String"));
dtYFMoney.Columns.Add("v_operation_name", Type.GetType("System.String"));
dtYFMoney.Columns.Add("v_mark", Type.GetType("System.String"));
DataRow rowYFMoney = dtYFMoney.NewRow();
//支付类型
switch (ddModel.i_yj_payment_type)
{
case :
rowYFMoney["v_fkfs"] = "现金";
break;
case :
rowYFMoney["v_fkfs"] = "银行卡";
break;
case :
rowYFMoney["v_fkfs"] = "微信";
break;
case :
rowYFMoney["v_fkfs"] = "支付宝";
break;
default:
break;
}
rowYFMoney["t_time"] = ddModel.t_kaitai_time.ToString("yyyy-MM-dd HH:mm");
rowYFMoney["f_yf_money"] = ddModel.f_yajin_money.ToString();
rowYFMoney["v_operation_name"] =ddModel.v_operator_name;
rowYFMoney["v_mark"] =ddModel.v_mark;
dtYFMoney.Rows.Add(rowYFMoney);
this.gridControlYFMoney.DataSource = dtYFMoney;
------------------------------------------------------------------------------------------------------------
2018.10.:周一 -- 返回前5个数据
SELECT TOP *
FROM Student; -- 返回前50%的数据
SELECT TOP PERCENT *
FROM Student; -- 以"C"或"P"开头
SELECT *
FROM Student
WHERE Subject LIKE '[CP]%'; -- 不以"C"或"P"开头
SELECT *
FROM Student
-- WHERE Subject LIKE '[^CP]%';
-- WHERE Subject LIKE '[!CP]%'; //不行
WHERE Subject NOT LIKE '[CP]%'; -- 以"A-D"开头
SELECT *
FROM Student
WHERE Subject LIKE '[A-D]%'; --选择科目是java和c#的所有人
SELECT *
FROM Student
WHERE Subject IN ('Java','C#');
-- WHERE Subject NOT IN ('Java','C#'); --选择范围之间
SELECT *
FROM Student
WHERE StuAge BETWEEN AND ;
-- WHERE StuAge NOT BETWEEN AND ; SELECT *
FROM Student
WHERE (StuAge BETWEEN AND ) AND Subject NOT IN('Java'); SELECT *
FROM Student
WHERE StuName BETWEEN '曹操' AND '关羽'
ORDER BY StuName; --若有日期的话
--SELECT * FROM Student WHERE Date BETWEEN #//# AND #//#; -- 连接
-- 内
SELECT *
FROM Student INNER JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 左外
SELECT *
FROM Student LEFT JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 右外
SELECT *
FROM Student RIGHT JOIN UserLogin
ON Student.StuName=UserLogin.UserName;
-- 自然
SELECT *
FROM Student FULL JOIN UserLogin
ON Student.StuName=UserLogin.UserName; -- 自连接
SELECT S.StuName AS NAME1,U.UserName AS NAME2
FROM Student S,UserLogin U
WHERE S.ID =U.ID; --组合并去重复
SELECT StuName AS NAME
FROM Student
UNION
SELECT UserName
FROM UserLogin
ORDER BY StuName; --组合但未去重复
SELECT StuName AS NAME
FROM Student
UNION ALL
SELECT UserName
FROM UserLogin
ORDER BY StuName; --复制表中的数据到另一个新建表
SELECT *
INTO Student1015
FROM Student; -- 复制到另一个数据库//貌似不可行
SELECT *
INTO Student181015 IN 'Nwind.mdb'
FROM Student; --只复制一些列到新表
SELECT StuName,StuAge
INTO Student1015_1
FROM Student; --复制多个表中信息插入新表
SELECT UserLogin.ID,Student.StuName,Student.StuAge
INTO Student1015_2
FROM Student INNER JOIN UserLogin
ON Student.StuName=UserLogin.UserName
ORDER BY UserLogin.ID; --建一个空表,查询返回时无返回值
SELECT *
INTO newtable
FROM Student
WHERE =; --把指定列插入另一个表的指定列
INSERT INTO Student1015_2(ID,StuName,StuAge)
SELECT TOP Student.ID,Student.Subject,Student.StuAge
FROM Student
WHERE Student.Subject='c#'; --删除表
DROP TABLE Student1015_2;
--只删除表中数据
TRUNCATE TABLE Student1015_2; --添加列
ALTER TABLE Student1015_1
ADD STU15 DATE;
--删除列
ALTER TABLE Student1015_1
DROP COLUMN STU15;
--更改列
ALTER TABLE Student1015_1
ALTER COLUMN STU15 DATETIME; --创建视图
GO
CREATE VIEW [MYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge=;
GO GO
CREATE VIEW [DYMYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge>(SELECT AVG(StuAge) FROM Student1015);
GO
--查询视图
GO
SELECT *
FROM [MYSTUDENT]
GO
--更新视图//貌似不行
GO
CREATE OR REPLACE VIEW [MYSTUDENT] AS
SELECT ID,StuName
FROM Student1015
WHERE StuAge=;
GO
--删除视图
DROP VIEW [MYSTUDENT]; --查询时间
SELECT *
FROM Student1015_1
WHERE STU15='2018-10-15';
----------------------------------------------------------------------------------------------------------------
2018.10.:周二
--进阶 --别名
SELECT StuName,StuNum+','+StuClass+','+StuGender+','+StuPhone AS 信息
FROM Student; --删除主键约束
ALTER TABLE Student DROP CONSTRAINT PK_Student; --创建表并添加唯一性约束
CREATE TABLE Persons(
P_Id int NOT NULL,
LastName varchar() NOT NULL,
FirstName varchar(),
Address varchar(),
City varchar(),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
);
--如果表已被创建添加唯一性约束
ALTER TABLE Student
ADD UNIQUE (ID);
--如果需要命名约束
ALTER TABLE Student
ADD CONSTRAINT uc_Student UNIQUE (ID,StuName)
--删除这个约束
ALTER TABLE Student
DROP CONSTRAINT uc_Student; --主键约束
CREATE TABLE Person(
P_Id int NOT NULL,
LastName varchar() NOT NULL,
FirstName varchar(),
Address varchar(),
City varchar(),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
);
--在上面的实例中,只有一个主键 PRIMARY KEY(pk_PersonID)。
--然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
--如果表已创建
ALTER TABLE Person
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName);
--删除约束
ALTER TABLE Person
DROP CONSTRAINT pk_PersonID; --外键约束
CREATE TABLE Orders(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Person(P_Id)
); --如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
CREATE TABLE Orders1(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Person(P_Id)
); -- 当表已被创建时
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
-- 如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id) -- 删除约束
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders -- 默认约束 -- 下面的 SQL 在表创建时在 "City" 列上创建 DEFAULT 约束:
CREATE TABLE Persons1016_1(
P_Id int NOT NULL,
LastName varchar() NOT NULL,
FirstName varchar(),
Address varchar(),
City varchar() DEFAULT 'Sandnes'
)
-- 通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
CREATE TABLE Orders1016_2(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
OrderDate date DEFAULT GETDATE()
) --当表已被创建时,如需在 "City" 列创建 DEFAULT 约束
ALTER TABLE Persons
ADD CONSTRAINT DF_Persons_City DEFAULT('SANDNES') FOR City
--Persons 为表名
--City 为列名
--DF_Persons_City 为我们创建的默认约束的名称 约束名称一般为:约束类型简称_表名_列名 --删除
ALTER TABLE Persons1016_1
ALTER COLUMN City DROP DEFAULT; --having
SELECT ID,StuName,StuClass,StuPhone,StuAge,SUM(ID+StuAge) AS HE
FROM Student
GROUP BY ID ,StuName,StuClass,StuPhone,StuAge
HAVING StuAge>;
2018.10.-24:周二 周三
// 复制设置
private void tzxButtonExCopy_Click(object sender, EventArgs e)
{
if (this.currentSelectedCzzlModel==null)
{
MessageBoxFunction.showInfoMessageBox("请选择正确的餐桌进行复制!");
return;
}
// 弹出选择桌台页面
SelectTableListForm formSelectTableList = new SelectTableListForm();
formSelectTableList.ShowDialog();
//获取到所选择的桌子
selectCzzlList=formSelectTableList.SelectedTableInfoList;
//MessageBox.Show(selectCzzlList.Count.ToString());
if (formSelectTableList.DialogResult != DialogResult.OK)
{
return;
}
if (selectCzzlList == null || selectCzzlList.Count == )
{
return;
}
//把设置复制到所选择的餐桌
foreach (cy_jczl_czzl_lb item in selectCzzlList)
{
if (this.currentSelectedCzzlModel.pk == item.pk)
{
continue;
}
//对某些餐桌上已有设置的菜品进行清空
List<cy_jczl_czzl_ktsp> deleteKtspList=TableProfileManager.Instance.getKtspList(item.v_no);
foreach (cy_jczl_czzl_ktsp deleteKtspModel in deleteKtspList)
{
TableProfileManager.Instance.ktspDelete(deleteKtspModel.pk);
}
//餐桌资料的一些设置进行复制
item.i_cwf_type= this.currentSelectedCzzlModel.i_cwf_type;
if (item.i_cwf_type == )
{
item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
}
else if (item.i_cwf_type == )
{
item.f_cwf_cz_money = this.currentSelectedCzzlModel.f_cwf_cz_money;
item.f_cwf_people_money = ;
}
else if (item.i_cwf_type == )
{
item.f_cwf_people_money = this.currentSelectedCzzlModel.f_cwf_people_money;
item.f_cwf_cz_money = ;
}
else
{
return;
}
item.i_ktcd = this.currentSelectedCzzlModel.i_ktcd;
item.i_ktsp = this.currentSelectedCzzlModel.i_ktsp;
TableProfileManager.Instance.CzzlUpdate(item);
//餐桌所选的开台菜品进行复制
List<cy_jczl_czzl_ktsp> currentKtspList = TableProfileManager.Instance.getKtspList(this.currentSelectedCzzlModel.v_no);
if (currentKtspList == null || currentKtspList.Count == )
{
return;
}
foreach (cy_jczl_czzl_ktsp currentKtspModel in currentKtspList)
{
cy_jczl_czzl_ktsp copyKtspModel = new cy_jczl_czzl_ktsp();
copyKtspModel.f_amount = currentKtspModel.f_amount;
copyKtspModel.f_price = currentKtspModel.f_price;
copyKtspModel.f_total_money = currentKtspModel.f_total_money;
copyKtspModel.i_dalei_pk = currentKtspModel.i_dalei_pk;
copyKtspModel.i_czzl_pk = item.pk;
copyKtspModel.i_delete = currentKtspModel.i_delete;
copyKtspModel.i_goods_pk = currentKtspModel.i_goods_pk;
copyKtspModel.i_status = currentKtspModel.i_status;
copyKtspModel.i_operator_pk = item.i_operator_pk;
copyKtspModel.i_xiaolei_pk = currentKtspModel.i_xiaolei_pk;
copyKtspModel.t_create_time = item.t_create_time;
copyKtspModel.v_czzl_no = item.v_no;
copyKtspModel.v_dalei_name = currentKtspModel.v_dalei_name;
copyKtspModel.v_danwei_name = currentKtspModel.v_danwei_name;
copyKtspModel.v_goods_name = currentKtspModel.v_goods_name;
copyKtspModel.v_goods_no = currentKtspModel.v_goods_no;
copyKtspModel.v_mark = currentKtspModel.v_mark;
copyKtspModel.v_specs = currentKtspModel.v_specs;
copyKtspModel.v_xiaolei_name = currentKtspModel.v_xiaolei_name; TableProfileManager.Instance.ktspAdd(copyKtspModel);
}
}
MessageBoxFunction.showInfoMessageBox("批量添加成功!");
base.Close();
return; }
 2018.10. -:周二
.设置
public partial class CustomShortcutKeyForm : Form
{
// 键入的值
private string strKey = null;
public CustomShortcutKeyForm()
{
InitializeComponent();
}
private void CustomShortcutKeyForm_Load(object sender, EventArgs e)
{
//加载列表
this.loadCustomShortcutKey();
} // 加载列表
private void loadCustomShortcutKey()
{
this.dataGridViewShortcutKey.Rows.Clear(); List<cy_kjjsz> kjjszList = ShortCutKeyManager.Instance.getAllKjjszModelList();
if (kjjszList == null || kjjszList.Count == )
{
return;
} int rowIndex = ;
foreach (cy_kjjsz model in kjjszList)
{
rowIndex = this.dataGridViewShortcutKey.Rows.Add(); this.dataGridViewShortcutKey.Rows[rowIndex].Cells["index"].Value = string.Format("{0}", rowIndex + );
this.dataGridViewShortcutKey.Rows[rowIndex].Cells["functionName"].Value = string.Format("{0:D2}", model.v_name);
this.dataGridViewShortcutKey.Rows[rowIndex].Cells["keys"].Value = model.v_kjj;
this.dataGridViewShortcutKey.Rows[rowIndex].Cells["gnmk"].Value = model.v_gnmk_no;
} //if (this.currentSelectedIndex < this.dataGridViewShortcutKey.Rows.Count)
//{
// this.dataGridViewShortcutKey.CurrentCell = this.dataGridViewShortcutKey.Rows[this.currentSelectedIndex].Cells[0];
//}
} // 保存
private void tzxRoundedButtonOK_Click(object sender, EventArgs e)
{
int updataNumber=;
ArrayList keysArrayList =new ArrayList();
foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
{
//修改的快捷键更新数据库
cy_kjjsz keysModel = ShortCutKeyManager.Instance.getkjjszModelByGnmkNo(dr.Cells["gnmk"].Value.ToString());
if(keysModel==null)
{
return;
}
if (keysModel.v_kjj != dr.Cells["keys"].Value.ToString())
{
keysModel.v_kjj = dr.Cells["keys"].Value.ToString();
bool flag = ShortCutKeyManager.Instance.kjjszUpdate(keysModel);
if(flag==true)
{
updataNumber++;
}
}
}
//Program.m_mainFormChineseFoodOnPC.loadToolStripShortCutKeys();
if (updataNumber > )
{
MessageBoxFunction.showInfoMessageBox("快捷键已修改,重启后方可生效!");
} } // 重置初始值
private void tzxRoundedRecover_Click(object sender, EventArgs e)
{
// 重置数据
this.kjjStartData();
}
// 初始化数据
private void kjjStartData()
{
//删除原来的设置
List<cy_kjjsz> kjjszModelList=ShortCutKeyManager.Instance.getAllKjjszModelList();
//如果不为空,则删除原来的设置
if (kjjszModelList != null)
{
foreach (cy_kjjsz kjjszModel in kjjszModelList)
{
ShortCutKeyManager.Instance.kjjszDelete(kjjszModel.pk);
}
}
// 如果为空,则将字典中的数据加入
Dictionary<string, string> dicAllToolStripShortCutKeys = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
if (dicAllToolStripShortCutKeys == null || dicAllToolStripShortCutKeys.Count == )
{
return;
}
cy_kjjsz kjjszMode = null;
foreach (string strDicShortCutKeys in dicAllToolStripShortCutKeys.Keys)
{
kjjszMode = new cy_kjjsz();
kjjszMode.v_gnmk_no = strDicShortCutKeys;
kjjszMode.i_operator_pk=LoginManager.Instance.getLoginerEmployeePK();
kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
kjjszMode.v_mac_address=GetSystemInfo.GetMacAddress();
kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
switch(strDicShortCutKeys)
{
case "2-1217,toolStripButtonStartTable":
kjjszMode.v_name="开台";
break;
case "2-1218,toolStripButtonChangeTable":
kjjszMode.v_name="转台";
break;
case "2-1216,toolStripButtonCancelTable":
kjjszMode.v_name="消台";
break;
case "2-1215,ToolStripMenuItemSetUpTable":
kjjszMode.v_name="搭台";
break;
case "2-1214,ToolStripMenuItemCutTable":
kjjszMode.v_name="拆台";
break;
case "2-1213,ToolStripMenuItemCombineTable":
kjjszMode.v_name="并台";
break;
case "2-1212,ToolStripMenuItemAddTable":
kjjszMode.v_name="加台";
break;
case "2-1211,ToolStripMenuItemModifyTableInfo":
kjjszMode.v_name="修改餐桌信息";
break;
case "2-1210,toolStripButtonOrderDishes":
kjjszMode.v_name="点菜";
break;
case "2-1209,toolStripButtonChangeDishes":
kjjszMode.v_name="换菜";
break;
case "2-1208,ToolStripMenuItemPushFood":
kjjszMode.v_name="催菜";
break;
case "2-1201,ToolStripMenuItemReturnDishes":
kjjszMode.v_name="退菜";
break;
case "2-1207,ToolStripMenuItemSuspend":
kjjszMode.v_name="挂起";
break;
case "2-1206,ToolStripMenuItemRouse":
kjjszMode.v_name="叫起";
break;
case "2-1601,toolStripButtonMemberSendCard":
kjjszMode.v_name="发卡";
break;
case "2-1602,toolStripButtonMemberCharge":
kjjszMode.v_name="充值";
break;
case "2-1701,toolStripButtonPrintTotalBills":
kjjszMode.v_name="打印总单";
break;
case "2-1702,toolStripButtonPreprintBills":
kjjszMode.v_name="预打账单";
break;
case "2-1703,toolStripButtonPrintKitchenOrder":
kjjszMode.v_name="补打厨打单";
break;
case "2-1400,toolStripButtonCheckOut":
kjjszMode.v_name="结账";
break;
case "2-1407,toolStripButtonAntiSettlement":
kjjszMode.v_name="反结账";
break;
case "2-1300,toolStripButtonShiftExchange":
kjjszMode.v_name="交班";
break;
case "2-1101,toolStripButtonLogoutSystem":
kjjszMode.v_name="注销";
break;
case "2-1102,toolStripButtonCloseSystem":
kjjszMode.v_name="退出系统";
break;
default:
break;
}
ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
}
MessageBoxFunction.showInfoMessageBox("快捷键已重置,重启后方可生效!");
} //单元格编辑停止时判断输入的值
private void dataGridViewShortcutKey_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (strKey==null)
{
strKey = "";
}
this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = strKey;
////是否输入汉字
//if (this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == 2)
//{
// string str = this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
// if (Regex.IsMatch(str, @"[\u4E00-\u9FA5]+$"))
// {
// Modules.MessageBoxFunction.showInfoMessageBox("不能输入汉字");
// this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
// strKey = null;
// return;
// }
//} //输入是否重复
ArrayList keysArrayList =new ArrayList();
foreach (DataGridViewRow dr in this.dataGridViewShortcutKey.Rows)
{
//所输入的快捷键是否重复
for (int i = ; i < keysArrayList.Count; i++)
{
if (dr.Cells["keys"].Value.ToString() == keysArrayList[i].ToString() && dr.Cells["keys"].Value.ToString() != "")
{
MessageBoxFunction.showInfoMessageBox("快捷键不能设置重复!请修改。");
this.dataGridViewShortcutKey.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
strKey = null;
return;
}
}
keysArrayList.Add(dr.Cells["keys"].Value.ToString());
strKey = null;
}
} //键盘键入事件
private void CustomShortcutKeyForm_KeyDown(object sender, KeyEventArgs e)
{
string s = e.KeyValue.ToString();
if (e.KeyValue >= && e.KeyValue <= || e.KeyValue >= && e.KeyValue <= )
{
strKey = Enum.GetName(typeof(Keys), e.KeyValue);
}
else
{
switch (e.KeyCode)
{
case Keys.Decimal:
strKey = ".";
break;
case Keys.Subtract:
strKey = "-";
break;
case Keys.Add:
strKey = "+";
break;
case Keys.OemBackslash: //斜杠
strKey = "/";
break;
case Keys.Multiply: //乘号
strKey = "*";
break;
case Keys.Divide: //除号
strKey = "/";
break;
case Keys.OemOpenBrackets://左括号
strKey = "[";
break;
case Keys.Oem6: //右括号
strKey = "]";
break;
case Keys.Oem1: //分号
strKey = ";";
break;
case Keys.Oem7: //引号
strKey = "'";
break;
case Keys.Oemcomma: //逗号
strKey = ",";
break;
case Keys.OemPeriod: //句号
strKey = ".";
break;
case Keys.Oem5: //反斜杠
strKey = "\\";
break;
case Keys.Oemtilde: //波浪号
strKey = "`";
break;
default:
break;
}
}
} //编辑快捷键时切换为英文输入法
private void dataGridViewShortcutKey_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox dg_innerTextBox;
            if (e.Control is TextBox && this.dataGridViewShortcutKey.CurrentCell.ColumnIndex == )
            {
                dg_innerTextBox = e.Control as TextBox;
                dg_innerTextBox.ImeMode = ImeMode.Close;
            }
} }
}
.主界面
/// <summary>
/// 处理所有工具栏按钮的快捷键响应事件
/// </summary>
/// <param name="e"></param>
private void DealAllToolStripButtonKeysEvent(KeyEventArgs e)
{
string strKey = null;
if (e.KeyValue>=&&e.KeyValue<=||e.KeyValue>=&&e.KeyValue<=)
{
strKey=Enum.GetName(typeof(Keys), e.KeyValue);
}
else
{
switch (e.KeyCode)
{
case Keys.Decimal:
strKey = ".";
break;
case Keys.Subtract:
strKey = "-";
break;
case Keys.Add:
strKey = "+";
break;
case Keys.OemBackslash: //斜杠
strKey = "/";
break;
case Keys.Multiply: //乘号
strKey = "*";
break;
case Keys.Divide: //除号
strKey = "/";
break;
case Keys.OemOpenBrackets://左括号
strKey = "[";
break;
case Keys.Oem6: //右括号
strKey = "]";
break;
case Keys.Oem1: //分号
strKey = ";";
break;
case Keys.Oem7: //引号
strKey = "'";
break;
case Keys.Oemcomma: //逗号
strKey = ",";
break;
case Keys.OemPeriod: //句号
strKey = ".";
break;
case Keys.Oem5: //反斜杠
strKey = "\\";
break;
case Keys.Oemtilde: //波浪号
strKey = "`";
break;
default:
break;
}
}
this.responseShortcutKey(strKey);
} /// <summary>
/// 响应自定义快捷键的方法
/// </summary>
private void responseShortcutKey(string strShortcutKey)
{
// 先判断按下的快捷键是不是设置好的快捷键
if (!dictionaryKey.ContainsValue(strShortcutKey))
{
return;
}
object control;
ToolStripButton button; // 按钮
ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮 for (int i = ; i < toolStripShortcutButton.Items.Count; i++)
{
control = toolStripShortcutButton.Items[i];
string strKey = null;
if (control is ToolStripButton)
{
button = (ToolStripButton)control;
// 判断是不是对应的按钮
strKey = string.Format("{0},{1}", (string)button.AccessibleName, (string)button.Name);
string getKeyStr = dictionaryKey[strKey];
if (getKeyStr == null)
{
return;
}
else if (strShortcutKey == getKeyStr)
{
button.PerformClick();
return;
} }
// 如果是二级菜单,则去找二级菜单下的按钮
else if (control is ToolStripDropDownButton)
{
toolStripDropDown = (ToolStripDropDownButton)control;
for (int j = ; j < toolStripDropDown.DropDownItems.Count; j++)
{
if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
{
continue;
}
toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j]; if (toolStripItemCollection == null)
{
continue;
}
// 判断是不是对应的按钮
strKey = string.Format("{0},{1}", (string)toolStripItemCollection.AccessibleName, (string)toolStripItemCollection.Name);
string getKeyStr = dictionaryKey[strKey]; ;
if (getKeyStr == null)
{
return;
}
if (strShortcutKey == getKeyStr)
{
toolStripItemCollection.PerformClick();
return;
}
}
}
}
}
/// <summary>
/// 加载主界面快捷键显示
/// </summary>
public void loadToolStripShortCutKeys()
{
List<cy_kjjsz> kjjszModelList = ShortCutKeyManager.Instance.getAllKjjszModelList();
if (kjjszModelList == null || kjjszModelList.Count == )
{
dictionaryKey = ShortCutKeysToolStripManager.getAllToolStripShortCutKeysDictionary();
//加载快捷键字典
this.loadShortCutKeysDic();
//写入数据库
cy_kjjsz kjjszMode = null;
foreach (string strDicShortCutKeys in dictionaryKey.Keys)
{
kjjszMode = new cy_kjjsz();
kjjszMode.v_gnmk_no = strDicShortCutKeys;
kjjszMode.i_operator_pk = LoginManager.Instance.getLoginerEmployeePK();
kjjszMode.v_operator_name = LoginManager.Instance.getLoginerEmployeeName();
kjjszMode.v_mac_address = GetSystemInfo.GetMacAddress();
kjjszMode.v_kjj = ShortCutKeysToolStripManager.getToolStripShortCutKeysByToolStripButtonName(strDicShortCutKeys);
switch (strDicShortCutKeys)
{
case "2-1217,toolStripButtonStartTable":
kjjszMode.v_name = "开台";
break;
case "2-1218,toolStripButtonChangeTable":
kjjszMode.v_name = "转台";
break;
case "2-1216,toolStripButtonCancelTable":
kjjszMode.v_name = "消台";
break;
case "2-1215,ToolStripMenuItemSetUpTable":
kjjszMode.v_name = "搭台";
break;
case "2-1214,ToolStripMenuItemCutTable":
kjjszMode.v_name = "拆台";
break;
case "2-1213,ToolStripMenuItemCombineTable":
kjjszMode.v_name = "并台";
break;
case "2-1212,ToolStripMenuItemAddTable":
kjjszMode.v_name = "加台";
break;
case "2-1211,ToolStripMenuItemModifyTableInfo":
kjjszMode.v_name = "修改餐桌信息";
break;
case "2-1210,toolStripButtonOrderDishes":
kjjszMode.v_name = "点菜";
break;
case "2-1209,toolStripButtonChangeDishes":
kjjszMode.v_name = "换菜";
break;
case "2-1208,ToolStripMenuItemPushFood":
kjjszMode.v_name = "催菜";
break;
case "2-1201,ToolStripMenuItemReturnDishes":
kjjszMode.v_name = "退菜";
break;
case "2-1207,ToolStripMenuItemSuspend":
kjjszMode.v_name = "挂起";
break;
case "2-1206,ToolStripMenuItemRouse":
kjjszMode.v_name = "叫起";
break;
case "2-1601,toolStripButtonMemberSendCard":
kjjszMode.v_name = "发卡";
break;
case "2-1602,toolStripButtonMemberCharge":
kjjszMode.v_name = "充值";
break;
case "2-1701,toolStripButtonPrintTotalBills":
kjjszMode.v_name = "打印总单";
break;
case "2-1702,toolStripButtonPreprintBills":
kjjszMode.v_name = "预打账单";
break;
case "2-1703,toolStripButtonPrintKitchenOrder":
kjjszMode.v_name = "补打厨打单";
break;
case "2-1400,toolStripButtonCheckOut":
kjjszMode.v_name = "结账";
break;
case "2-1407,toolStripButtonAntiSettlement":
kjjszMode.v_name = "反结账";
break;
case "2-1300,toolStripButtonShiftExchange":
kjjszMode.v_name = "交班";
break;
case "2-1101,toolStripButtonLogoutSystem":
kjjszMode.v_name = "注销";
break;
case "2-1102,toolStripButtonCloseSystem":
kjjszMode.v_name = "退出系统";
break;
default:
break;
}
ShortCutKeyManager.Instance.kjjszAdd(kjjszMode);
}
}
else
{
foreach (cy_kjjsz item in kjjszModelList)
{
dictionaryKey.Add(item.v_gnmk_no, item.v_kjj);
}
//加载快捷键字典
this.loadShortCutKeysDic();
}
} //加载快捷键字典
private void loadShortCutKeysDic()
{
if (dictionaryKey == null || dictionaryKey.Count == )
{
return;
}
object control;
ToolStripButton button; // 按钮
ToolStripDropDownButton toolStripDropDown; // 二级菜单按钮
ToolStripMenuItem toolStripItemCollection; // 二级菜单下的按钮
string[] key = new string[];
foreach (var item in dictionaryKey.Keys)
{
key = item.Split(',');
if (key == null || key.Length < )
{
return;
}
for (int i = ; i < toolStripShortcutButton.Items.Count; i++)
{
control = toolStripShortcutButton.Items[i];
//菜单按钮
if (control is ToolStripButton)
{
button = (ToolStripButton)control;
// 判断是不是对应的按钮
if ((string)button.Name == key[])
{
if (dictionaryKey[item] == null || dictionaryKey[item] == "")
{
continue;
}
button.Text += "(" + dictionaryKey[item] + ")";
}
}
// 如果是二级菜单,则去找二级菜单下的按钮
else if (control is ToolStripDropDownButton)
{
toolStripDropDown = (ToolStripDropDownButton)control;
for (int j = ; j < toolStripDropDown.DropDownItems.Count; j++)
{
if (!(toolStripDropDown.DropDownItems[j] is ToolStripMenuItem))
{
continue;
}
toolStripItemCollection = (ToolStripMenuItem)toolStripDropDown.DropDownItems[j]; if (toolStripItemCollection == null)
{
continue;
}
// 判断是不是对应的按钮
if ((string)toolStripItemCollection.Name == key[])
{
if (dictionaryKey[item] == null || dictionaryKey[item] == "")
{
continue;
}
toolStripItemCollection.Text += "(" + dictionaryKey[item] + ")";
}
}
} }
} }

WorkSpace的更多相关文章

  1. Xcode同一个Workspace中两个工程依赖于Undefined Symbol Error

    Workspace中包含两个工程A和B: A是dylib工程,引用了另一个动态库C,B需要链接(依赖)A库.当编译B时,会先编译A,然后把A生成的dylib拷贝到B的生成目录中.如果要运行B的话需要把 ...

  2. 1.2、Workspace中让Package分层显示

    有时候我们新建两个具有两个相同目录的Package(例如:com.st.collection和com.st.map这两个Package)时,在Workspace中是以平铺的方式显示的,如: 当Pack ...

  3. eclipse build workspace太慢或者 js出错问题解决

    1.js文件错误解决办法 右键项目->properties->Builders(注:JavaScript Validator也会引起 build workspace太慢) 2.Eclips ...

  4. Project、Target、Workspace and Scheme

    前言 今天有人问我Target和Project是什么关系?额...学习iOS开发都知道Target和Project的关系.这里我就简单的做了一个总结,而且加入的Scheme和Workspace.如果不 ...

  5. 开发者调试工具Chrome Workspace

    Workspace是个什么样的东西呢?他能够在开发者工具中调试修改js或者css同时自动保存文件,能够避免开发人员在工具中调试好,再到编辑器中修改一次代码的重复操作,能够提高一定的效率 配置Chrom ...

  6. OGG-01820 Could not enable workspace

    状况: OGG replicat进程abend了,查看report显示如下问题: 2016-11-01 16:11:47  ERROR   OGG-01820  Could not enable wo ...

  7. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

    一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...

  8. Eclipse Building Workspace 解决办法

    Eclipse 一直不停 building workspace... android开发论坛 juapk 完美解决总结 一.产生这个问题的原因多种 1.自动升级 2.未正确关闭  3.maven下载l ...

  9. The ProgID of the WorkspaceName's workspace factory

    The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...

  10. 01.Sencha ExtJS 6 - Generate Workspace and Application

    生成workspace         下载gpl版本的ExtJs6         在https://www.sencha.com/legal/GPL/页面的右侧申请链接来下载,或者使用链接http ...

随机推荐

  1. 判断Javascript对象是否为空

    判断普通javascript对象是否为空(含有可枚举的属性,自有的.继承的都可以),可使用jQuery 3.2.1版的isEmptyObject()方法: isEmptyObject: functio ...

  2. Spring配置连接池

    ---------------------siwuxie095                                 Spring 配置连接池         1.Spring 配置内置连接 ...

  3. [leetcode]721. Accounts Merge账户合并

    Given a list accounts, each element accounts[i] is a list of strings, where the first element accoun ...

  4. hadoop应用场景总结

    原文地址 我个人接触hadoop仅仅不到一年,因为是业余时间学习,故进度较慢,看过好多视频,买过好多书,学过基本知识,搭建过伪分布式集群,有过简单的教程式开发,恰逢毕业季,面试过相关岗位,自认为路还很 ...

  5. PHP下ajax跨域的解决方案之window.name

    原理核心:window对象的name属性是一个很特别的属性,当该window的location变化,然后重新加载,它的name属性可以依然保持不变. 依此原理,我们可以在页面A中用iframe加载其他 ...

  6. CentOS7下搭建基本LNMP环境,部署WordPress

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nginx-1.12.2.tar.gz php 7.1.11 ...

  7. Linux 模块管理

    查看模块信息 modinfo module-name 加载模块 insmod module-name 卸载模块 rmmod module-name 生成模块依赖 cd /lib/module/`una ...

  8. [Groovy] List和Map用法搜集

    http://chenfeng0104.iteye.com/blog/609075 http://www.cnblogs.com/muzi1994/p/5169928.html https://zhi ...

  9. Linux多线程服务端编程 使用muduo C++网络库 学习笔记 日志log

    代码来自陈硕开源代码库 muduo中 地址是https://github.com/chenshuo/muduo #pragma once #include <string> #define ...

  10. install pip(mac)

    simple method:  sudo easy_install pip you have done!and can install the other py programs using pip ...