private void OnKeyListKeyDown(object sender, KeyEventArgs eventArgs) { if (fKeyWait) { int idx = fKeyList.SelIndex; if (idx >= 0 && idx < fKeyList.Items.Count) { UserActionRec uAct = StaticData.dbUserActions[idx]; uAct.HotKey = new HotKey(eventArgs.Key, eventArgs.Shift); UpdateKeyList(); fKeyList.TopIndex = fKeyList.TopIndex; fKeyList.SelIndex = idx; fKeyWait = false; fKeyList.SelColor = Colors.Gray; fKeyList.SelBorderColor = Colors.Gray; eventArgs.Key = Keys.GK_UNK; } } else { if (eventArgs.Key == Keys.GK_RETURN) { fKeyWait = true; fKeyList.SelColor = Colors.None; fKeyList.SelBorderColor = Colors.Red; eventArgs.Key = Keys.GK_UNK; } } fKeyList.ShowHints = !fKeyWait; }
private void UpdateKeyList() { fKeyList.Items.Clear(); for (var ua = UserAction.uaFirst; ua <= UserAction.uaLast; ua++) { UserActionRec uAct = StaticData.dbUserActions[(int)ua]; LBItem item = fKeyList.Items.Add(BaseLocale.GetStr(uAct.NameRes), null); string s = BaseMainWindow.HotKeyToText(uAct.HotKey); item.SubItems.Add(s, null); } }