Я хочу поймать событие keyup родительской формы в usercontrol. Я использую ProcessCmdKey, но он просто дает мне событие keydown и не вызывает события keyup. Как мне это сделать?Как Catch Keyup Event в User Control?
Обновление: Я хочу поймать событие нажатия клавиши формы. потому что Control.KeyUp возникает, когда управление сфокусировано.
public partial class ExtendedButton : Button
{
const int WM_KEYDOWN = 0x100;
public ExtendedButton()
{
InitializeComponent();
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (msg.Msg == WM_KEYUP && keyData == (Keys.NumPad0))
{
MessageBox.Show("hi");
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
Почему так сложно? См. Http://stackoverflow.com/questions/18604633/catch-keyup-event-on-winform-c-sharp – user2864740
@ user2864740 Я хочу использовать событие keyup в usercontrol не в форме – ArMaN
Существует [Control.KeyUp] (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup(v=vs.110).aspx) .. все еще не уверен, для чего усложняется. – user2864740