Я хочу захватить клавишу tab в элементе c # Gtk.SearchEntry, чтобы вкладка не приводила к потере фокуса элемента. Я прочитал, что вы можете сделать это, возвращая false в функции OnKeyPressEvent. Однако это не работает при переопределении функции в виджете SearchEntry.
Это работает, если я переопределяю функцию OnKeyPressEvent окна, но тогда клавиша табуляции блокируется для всего окна, что не идеально ... Вот мой класс SearchEntry:
internal class NoTabSearchEntry : SearchEntry
{
protected override bool OnKeyPressEvent(EventKey evnt)
{
if (evnt.Key == Key.Tab)
{
Console.WriteLine("tab pressed");
return false;
}
return base.OnKeyPressEvent(evnt);
}
}
Сообщение "нажата вкладка" действительно выводится, но SearchEntry все равно теряет фокус.