我正在将 Mono 的 .NET Windows 应用程序转换为在 Linux (Ubuntu) 上运行。其中一项功能取决于本机库 (user32.dll)。讨论应用程序转换(Linux 平台差异)的 Mono 指南建议一种方法是修改此代码。
我正在尝试使用 GDK 访问我可以通过属性 Gdk.Global.ActiveWindow 访问的 Gdk.Window 的标题。但是我在编译时发现了这个错误:
Error CS0154: The property or indexer `Gdk.Window.Title` cannot be used in this context because it lacks the `get` accessor (CS0154) (GetActiveWindow)
如果我删除读取Title
activeW 的 de 属性的代码,一切正常。还有另一种读取此属性的方法吗?
这是我的工作单位:
using System;
using Gtk;
using Gdk;
using System.Threading;
namespace GetActiveWindow
{
class GdkApp : Gtk.Window
{
public static void Main ()
{
Application.Init ();
new GdkApp ();
Application.Run ();
}
public GdkApp () : base("Simple App")
{
SetDefaultSize (150, 150);
ShowAll();
while (true) {
var activeW = Gdk.Global.ActiveWindow;
Console.WriteLine("Active Window: {0}",activeW.Title); // Where my compile error happens.
Console.WriteLine("Simple App Window: {0}",this.Title); // This code works perfectily.
Thread.Sleep(1000);
}
}
}
}