Linux Mono はじめの一歩
どんなプログラムを作るかを決めます。
メインウインドウにボタンとEntryを配置し、ボタンをクリックする毎にカウンターを更新しその数字を表示します。(数字は 0 ~ 9 まで)
ソリューション(プロジェクト)の作成
Monodevelop 起動
メニュー
新規(N)
ソリューション
と選択し
プロジェクトの種類に
その他
.NET
を選びます。
その中で、Gtk# 2.0 プロジェクト C# を指定します。
プロジェクト名、ソリューション名を入力し保存するディレクトリをブラウザーで指定します。最初は MainWindow のみが表示されます。これにコンテナ、ウィジェットを張り付けて画面を作成していきます。
画面の作成
画面右の Toolbox を選択し
Fixed をまず配置する。
次に Button を配置する。
次に Entry を配置します。
Button, Entry の配置順序はどちらが先でもOKです。
最初に Fixed を配置することによりその上に配置するウィジットは好きな所に配置できる。マウスでウィジェットの上部に出てくる □ をマウスでつまんで好きな位置に移動できます。
(プロパティの Fixed Child Layout の X, Y を変更しても位置は変えられます。)
画面右の ToolBox, プロパティ, ドキュメント アウトライン はメニューのビュー(V)、パッドをクリックしても選択が可能です。
(画面上から消えたらメニューから指定してください。)
プロパティ変更するには先ずウィジェットをマウスで選択したのちにプロパティをクリックしてください。
ウィジェット(GtkButton) の大きさを変更する場合は画面の上にある +, - をクリックしてください。
Entry の Text に 『No Click』 と入力しておきますと起動時の画面に反映されます。
シグナル(イベント)の登録
Button をクリックしたのちプロパティを開いてください。プロパティ、シグナル タブのシグナルを選択して Button Signals を選択します。ハンドラに OnClick と名前を登録します。(その右の項目の 後 の意味はよく分かりません?)
画面下の『ソース』、『ディザイン』の『ソース』をクリックするとプログラムが
現れますので(なぜか、縦書き見たい!?)
以下のように改造します。
01: using System; 02: using Gtk; 03: 04: public partial class MainWindow: Gtk.Window 05: { 06: public MainWindow () : base (Gtk.WindowType.Toplevel) 07: { 08: Build (); 09: } 10: 11: protected void OnDeleteEvent (object sender, DeleteEventArgs a) 12: { 13: Application.Quit (); 14: a.RetVal = true; 15: } 16: 17: int BtnCounter = 0 ; 18: protected void OnClick (object sender, EventArgs e) 19: { 20: // throw new NotImplementedException (); 21: if ( ++BtnCounter == 10) { 22: BtnCounter = 0; 23: } 24: entry1.Text = BtnCounter.ToString(); 25: } 26: }
メニュー 実行(R) のStart Debug でデバッグを開始できます。また、コンソールより作成したソリューションのディレクトリ内に bin ディレクトリがありその下に Debug / Release (Release が無い場合もあります。)のそれぞれに xs04.exe 実行ファイルがありますのでコンソールより ./xs04.exe と入力しても動作します。
最初、わからない事ばかりで本当に『はじめの一歩』となり、余分な時間を取られてしまいました!!