Я считаю, что KeyEventArgs не имеют KeyChar .Вы можете проверить определение
KeyEventArgs , как показано ниже.
public class KeyEventArgs : EventArgs
{
// Fields
private bool handled;
private readonly Keys keyData;
private bool suppressKeyPress;
// Methods
public KeyEventArgs(Keys keyData);
// Properties
public virtual bool Alt { get; }
public bool Control { get; }
public bool Handled { get; set; }
public Keys KeyCode { get; }
public Keys KeyData { get; }
public int KeyValue { get; }
public Keys Modifiers { get; }
public virtual bool Shift { get; }
public bool SuppressKeyPress { get; set; }
}
И вы можете попытаться преобразовать значение ключа в символ, пожалуйста, обратитесь кобразец как показано ниже.
private string keyChar = string.Empty;
// Convert KeyValue to char
private void SomeKeyDown(object sender, KeyPressEventArgs e)
{
keyChar = (char)e.KeyValue;
}