在C#中,很容易找到哪个元素具有焦点;你这样做:
using System.Windows;
using System.Windows.Input;
namespace Whatever
{
public partial class MainWindow : Window
{
public IInputElement GetFocusedElement()
{
return FocusManager.GetFocusedElement(this);
}
}
}
我想在Mono / GTK#中做粗略的等效操作。我该怎么做?
答案 0 :(得分:2)
在GTK窗口(Mainwindow / this)上有一个 Focus 道具,它返回 Widget 。你可以得到并设置它,它应该波及所有关注的'容器子项直到它到达最后一个聚焦节点。
所以更新代码示例:
public partial class MainWindow : Window
{
public Widget GetFocusedElement()
{
Console.WriteLine (((Widget)this.Focus).Name);
return this.Focus;
}
}