Как определить нажатие клавиши на Xamarin.Mac NSTexField?

Я пытаюсь определить, когда пользователь нажимает ввод при редактировании одной строки NSTextField, чтобы отправить введенные данные.

Похоже, в NSTextField нет никаких событий, которые были бы полезны,


person mattdwen    schedule 16.05.2013    source источник


Ответы (1)


Вы можете создать подкласс NSTextField и переопределить метод keyUp:

[Register("CustomTextField")]
private class CustomTextField : MonoMac.AppKit.NSTextField
{
    public CustomTextField(IntPtr handle) : base(handle)
    {

    }

    public override void KeyUp (NSEvent theEvent)
    {
        if (theEvent.KeyCode == 36) {
            Console.WriteLine ("You pressed enter!");
        }
    }
}
person TheNextman    schedule 16.05.2013
comment
Я хотел бы добавить, что в MonoMac.AppKit должен быть перечислитель с более буквальными версиями этих ключей. то есть: (int)NSKey.Return. - person Daniel Park; 25.06.2014
comment
Кажется, много работы для этого мероприятия, но не смог найти ничего лучше, спасибо. - person DennisWelu; 24.09.2014