|
|
@ -21,6 +21,7 @@ namespace DyeingComputer.KEY |
|
|
|
{ |
|
|
|
private bool isShiftActive = false; |
|
|
|
private bool isSymbolActive = false; |
|
|
|
private bool mode = false; |
|
|
|
public string KeyValue; |
|
|
|
public event EventHandler<KeyPressedEventArgs> KeyPressed; |
|
|
|
private KeyboardMode currentMode = KeyboardMode.Default; |
|
|
@ -69,6 +70,7 @@ namespace DyeingComputer.KEY |
|
|
|
{ |
|
|
|
SetButtonEnabled(i.ToString(), i >= minValue && i <= maxValue); |
|
|
|
} |
|
|
|
mode = true; |
|
|
|
break; |
|
|
|
|
|
|
|
case KeyboardMode.Default: |
|
|
@ -130,6 +132,7 @@ namespace DyeingComputer.KEY |
|
|
|
// 数字键点击事件
|
|
|
|
private void KeyButton_Click(object sender, RoutedEventArgs e) |
|
|
|
{ |
|
|
|
if (mode && PreviewTextBox.Text.Length > 0) return; |
|
|
|
Button button = sender as Button; |
|
|
|
if (button != null && button.IsEnabled) |
|
|
|
{ |
|
|
@ -137,13 +140,13 @@ namespace DyeingComputer.KEY |
|
|
|
PreviewTextBox.Text += keyValue; |
|
|
|
|
|
|
|
// 触发按键事件
|
|
|
|
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Character, keyValue));
|
|
|
|
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Character, keyValue));
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 退格键点击事件
|
|
|
|
private void Backspace_Click(object sender, RoutedEventArgs e) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (PreviewTextBox.Text.Length > 0) |
|
|
|
{ |
|
|
|
PreviewTextBox.Text = PreviewTextBox.Text.Substring(0, PreviewTextBox.Text.Length - 1); |
|
|
@ -166,7 +169,7 @@ namespace DyeingComputer.KEY |
|
|
|
// 隐藏键点击事件
|
|
|
|
private void Hide_Click(object sender, RoutedEventArgs e) |
|
|
|
{ |
|
|
|
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Hide, ""));
|
|
|
|
KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Hide, "")); |
|
|
|
// 隐藏键盘
|
|
|
|
this.Hide(); |
|
|
|
} |
|
|
@ -185,8 +188,9 @@ namespace DyeingComputer.KEY |
|
|
|
private void Window_Loaded(object sender, RoutedEventArgs e) |
|
|
|
{ |
|
|
|
// 初始化为默认模式
|
|
|
|
SetKeyboardMode(KeyboardMode.Default); |
|
|
|
// SetKeyboardMode(KeyboardMode.Default);
|
|
|
|
PreviewTextBox.Text = null; |
|
|
|
mode = false; |
|
|
|
} |
|
|
|
} |
|
|
|
// 按键类型枚举
|
|
|
@ -203,7 +207,6 @@ namespace DyeingComputer.KEY |
|
|
|
{ |
|
|
|
public KeyType KeyType { get; } |
|
|
|
public string KeyValue { get; } |
|
|
|
public string DATValue { set; get; } |
|
|
|
|
|
|
|
public KeyPressedEventArgs(KeyType keyType, string keyValue) |
|
|
|
{ |
|
|
|