大嘘を書いた

Mono での GUI 開発の続き。

オイラはアホウだった…

Gtk# 2.0 プロジェクトでとりあえずプロジェクトを作ると
MainWindow.cs ってファイルが作成されとるじゃないの!
このファイルをWクリックすれば普通に GUI 開発が…

DeleteEventHandler もリソース内で…自分で追加する必要は無かった。
気を取り直して、、、、、

コンテナから Fixed を選んでデザイナにD&D。
すると従来の Windows RAD 開発のような配置でウイジェットが置ける。
ウイジェットツリーで編集したいパーツを選んでプロパティからラベルとかを編集。
異様に CPU 負荷が高いんだが…仮想マシンなせいかもしれないけど。

イベントハンドラは「シグナル」のタブを選ぶ。

のイベントのトコに希望するハンドラ名を記述するわけだ。
Visual Studio のようにWクリックしても自動で名前は付けてくれない。
Ctrl+A で全選択して自分で書き込んでくだされですね。
でも書き込みさえ行えばソースやリソースへのへの追加は自動でやってくれる。

using System;
using Gtk;

public partial class MainWindow: Gtk.Window
{    
    public MainWindow (): base (Gtk.WindowType.Toplevel)
    {
        Build ();
    }
    
    protected void OnDeleteEvent (object sender, DeleteEventArgs a)
    {
        Application.Quit ();
        a.RetVal = true;
    }
    //↑までは最初から作成されている
    //上記操作でハンドラが作成されるので内容を自前で書く
    protected virtual void button1_Click (object sender, System.EventArgs e)
    {
        MessageDialog dlg = new MessageDialog(
            (Window)this,
            Gtk.DialogFlags.Modal,
            Gtk.MessageType.Info,
            Gtk.ButtonsType.Ok,
            "スカートも水色!\n復活希望!");
        dlg.Run();
        dlg.Destroy();
    }
}

これだけで良かったのね、ウソを書いてごめんなチャイ!

ちなみにハンドラ名を変更したい場合はシグナルの所で変更すれば自動反映される。
自動でハンドラ名を付けてくれない以外は Windows の開発と変わらないねコレ。