Я пытаюсь заставить работать элемент управления горячей клавиши в C # на основе класса Control и класса win32 msctls_hotkey32. То, что у меня работает, хотя и не идеально:
class Hotkey : TextBox
{
protected override CreateParams CreateParams
{
get
{
CreateParams parms = base.CreateParams;
parms.ClassName = "msctls_hotkey32";
return parms;
}
}
// (some other p/invoke stuff for HKM_SETHOTKEY, etc.)
}
Преимущества в том, что это просто и работает. Недостатком является то, что он наследует набор функций из TextBox, который не применяется к этому элементу управления. Поэтому мой вопрос - есть ли лучший способ сделать это, не изобретая велосипед?
Спасибо.