我如何确定哪个 UI 元素在 GTK# 中具有焦点?
How do I determine which UI element has focus in GTK#?
在 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 Window (Mainwindow/this) 上是一个 Focus prop that returns 一个 Widget.您可以获取并设置它,它应该波及所有 'focused' 个容器子节点,直到它到达最后一个聚焦节点。
因此更新您的代码示例:
public partial class MainWindow : Window
{
public Widget GetFocusedElement()
{
Console.WriteLine (((Widget)this.Focus).Name);
return this.Focus;
}
}
在 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 Window (Mainwindow/this) 上是一个 Focus prop that returns 一个 Widget.您可以获取并设置它,它应该波及所有 'focused' 个容器子节点,直到它到达最后一个聚焦节点。
因此更新您的代码示例:
public partial class MainWindow : Window
{
public Widget GetFocusedElement()
{
Console.WriteLine (((Widget)this.Focus).Name);
return this.Focus;
}
}