3

我在 Mac OS X 机器上安装了 XCode、MonoMac、Mono 和 MonoDevelop,但我不知道如何成功地将 Click 事件连接到一个简单的按钮。

首先,我控制拖拽按钮到头文件,它创建了一个出口。现在,我可以从 C# 代码访问我的按钮 (btnHello),这很酷 - 但是如何以及在何处将事件绑定到它?

我试着做

this.btnHello.PerformClick += delegate {
    this.Title = "Hello World";
};

但是 MonoDevelop 抱怨我不能这样做,因为一些“方法组”的东西。

我已经研究了几天,我找不到任何关于如何做到这一点的教程,我不想使用示例代码,因为它没有给我未来如何正确执行此操作的过程。我尝试查看 MonoTouch 入门指南,因为它接近 MonoMac,但这也无济于事。

任何帮助都会很棒,尤其是关于出口和行动,以及我如何将它们与我的元素联系起来!谢谢!

4

3 回答 3

3

尝试:

    this.btnHello.Activated += delegate {
    this.Title = "Hello World";
};

这段代码应该在你的控制器中的某个地方,最有可能在 AwakeFromNib 中。

于 2012-09-16T11:15:52.573 回答
2

大多数问题可能源于您在网上找到的大多数教程仍然引用旧版本的 MonoDevelop、XCode 和 Interface Builder。

我之前发布过这个链接,它展示了如何启动一个基本项目,包括使用新的 XCode 4.2+ 设置的事件处理程序。

http://tufnelltech.blogspot.ca/2012/01/hello-os-x-from-c-five-steps.html

于 2012-09-24T08:03:45.217 回答
0

NSButton.PerformClick() 是一种方法,而不是事件,因此您无法将委托连接到它。

不幸的是,我对 Mac API 不够熟悉,无法建议如何做你想做的事。

于 2012-09-11T23:21:15.450 回答