我正在使用ArchLinux(Gnome 3)运行mono v3.2.8 x64,并在使用此代码创建WinForm时注意到这种奇怪的行为:
namespace MWFTestApplication {
class MainWindow : System.Windows.Forms.Form {
public MainWindow() {
string hande = string.Format ("0x{0}", Handle.ToString ("x"));
Console.WriteLine("Handle: " + hande);
}
public static void Main(string[] args) {
Application.Run(new MainWindow());
}
}
}
当我在ArchLinux下执行此操作时,我可以看到表单,但结果就像Handle: 0x200000f
,显然不对。我可以重新编译应用程序并重新启动它,并且Handle不会更改,直到我重新启动。然后我得到一个新的无效句柄。
当我在Windows下运行相同的代码时,我按预期为每次运行获得一个新的随机指针。
我的显卡是NVIDIA GTX 690运行驱动程序版本334.21。