【问题标题】:Creating a simple Hello World app with MonoMac使用 MonoMac 创建一个简单的 Hello World 应用程序
【发布时间】:2012-09-11 17:35:48
【问题描述】:

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

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

我试过了

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

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

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

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

【问题讨论】:

    标签: c# xcode mono interface-builder monomac


    【解决方案1】:

    试试:

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

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

    【讨论】:

    • 所以它的激活事件!应该在哪里存储这种美丽? MainWindowController 还是 MainWindow?如果你不介意,什么方法?我认为这些信息将为您的回答增加巨大的价值,先生。 :)
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      NSButton.PerformClick() 是一个方法,而不是一个事件,所以你不能将委托连接到它。

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

      【讨论】:

      • 只是寻找一种将点击事件连接到按钮的方法 - 在 Visual Studio 中,我只需双击我的按钮并生成事件代码,即可使用。但是,就像 Apple 的所有与开发人员相关的事情一样,他们不会让它那么容易.. :(
      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 2016-08-01
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多