如何确定gtk#中哪个UI元素具有焦点?
本文关键字:元素 焦点 UI 何确定 gtk# | 更新日期: 2023-09-27 18:04:03
在c#中很容易找到有焦点的元素;你只需要这样做:
using System.Windows;
using System.Windows.Input;
namespace Whatever
{
public partial class MainWindow : Window
{
public IInputElement GetFocusedElement()
{
return FocusManager.GetFocusedElement(this);
}
}
}
我想在Mono/gtk#中做大致的等效。我该怎么做呢?
在GTK窗口(Mainwindow/this)上是一个Focus prop,它返回一个Widget。您可以获取并设置它,它应该通过所有"聚焦"的容器子节点涟漪,直到它到达最后一个聚焦节点。
所以更新你的代码示例:
public partial class MainWindow : Window
{
public Widget GetFocusedElement()
{
Console.WriteLine (((Widget)this.Focus).Name);
return this.Focus;
}
}