MonoTouchを使ってC#でHelloWorldをやってみましょう。

MonoDevelopを起動して、ソリューションの作成。
ファイル→新規→ソリューションを選択すると、ソリューション作成ダイアログが表示されます。

ソリューション名:Helloworld_Sol プロジェクト名:Helloworld

まぁ、このあたりは任意で指定してください。

次に『プロジェクトの機能』を聞かれますが、そのまま何も選択せずOK。

すると新しいプロジェクトが生成される。 構成はこんな感じ。

□Main.cs Applicationクラスにはmain関数がある。
今回、実行処理はAppdelegateクラスのFinishedLaunching関数内に記述します。 □MainWindow.xib これはアプリのGUI定義ファイルです。

MainWindow.xib をダブルクリックするとInterface BuilderというGUI設計ツールが起動します。

Interface Builder上でラベルとボタンを配置する。
Library(画面左)からラベルとボタンをドラッグしてWindow(画面中央上)に配置。

各コントロールのプロパティは画面右(名称が分からない)の項目で定義する。 ラベルとボタンのTextに適当な文字を入力。

Interface Builderに定義しただけのの状態では、MonoDevelopが各コントロールの変数名やイベントを認識できていません。

ここで各コントロールのアウトレットを作成する。 (※サンプルはSnow Leopard 各コントロールのアウトレット作成はLeopardとSnow Leopardで操作方法が違います。)

Library→Classesタブ→Appdelegat(リスト一覧から)の順で選択します。

下段Appdelegateで『outlets』タブを選択し一番下の『+』ボタンをクリック。

各コントロールのOutlet(変数名)を定義し、MonoTouchのソース中で使用する変数名として認識させる。 Type項目はid(C#で言うところのObject型?)のままでOK。
逆にソース側からアクセスする必要のないコントロールは定義する必要は無いように思います。

MainWindow.xib(画面中央下)でAppDelegateを選択します。

その後右画面上段のタブConnectionsをクリックします。
各コントロールのOutletsが一覧に表示されることが確認できました。

この状態ですでにwindowコントロールの右の丸は●になっていると思います。

そこでほかの各コントロールの右側の○をドラッグしながらWindow(画面上)内の各コントロールのところでドロップします。

コントロール右の○が●になればバインド完了。 ちなみに各コントロールからAppdelegateにバインドする方法もあるのでお好みで。

次に各コントロールのActionsにイベントを追加します。 Library→Classesタブ→Appdelegat(リスト一覧から)の順で選択、下段Appdelegateで『Actions』タブを選択し一番下の『+』ボタンをクリック。

今回はボタンクリックイベントを定義。

再びMainWindow.xib(画面下)でAppDelegateを選択し、その後画面右のタブConnectionsをクリックするとReceivd Actionsに定義したイベントが追加されている。

ここで、アクションの右の○をドラッグしながらWindow(画面上)内のボタンのところでドロップします。 ドロップしたコントロールのイベント一覧が表示されるので任意で選択する。 今回は『TouchDown』を選択。

これでMonodevelopとの連携が取れているはず。
interface Builderを保存して終了します。

MonodevelopでMainWindow.xib.designer.csを開くとinterface Builderで定義したコントロールとイベントが追加されているのが確認できます。

では実際の処理部分を記述しましょう。 AppDelegateクラスにボタンイベントを記述。


Partial btnHelloClick (MonoTouch.UIKit.UIButton sender)
{
this.lbnHello.Text = "Hello World!";
};

MainWindow.xib.designer.csにPartialと宣言されているため、こちらでも同じ関数名に。

では実際に動かしてみよう。

ボタンをクリックすると、

おお、表示されました。