Xamarin:クロスプラットフォーム開発ソフトウェアのGUI
モノ:Xamarinは、クロスプラットフォームの.NETランタイム環境を開発し、
開発者が開発環境でモノを使用できるようにするプロジェクトの拡大に関連する大規模とMonoモノ。これらのプロジェクトが含まれます:
ココア#を、パッケージのネイティブのMac OS Xツールキットシリーズ(ココア)のために。
ヤモリ#は、Mozillaの(ヤモリ)で使用される埋め込まれたレイアウトエンジンのバインディング。
のGtk#、Cは、C#のGTK +ライブラリを使用することを委託しました。
タオ、結合グラフィックスとゲームライブラリ。
gtkのプロフィール
はじめにGTKの#
[
純粋なWindowsユーザはスキップすることができます。
また、テストされていません。
]
GTK#が人気のクロスプラットフォームのグラフィカル・ユーザー・インターフェース・ライブラリ(GUI)GTK +パッケージです。あなたはネイティブアプリケーションを構築する予定で、それがWindows以外のプラットフォーム上で実行したい場合は、GTKは、合理的な選択肢かもしれません。GTK#はWindowsフォームとWPFに似て実行され、GTK#で、ウィンドウがGtk.Windowに基づいており、ウィジェット(コントロールと同等のウィジェットは、)Gtk.Widgetクラスに基づいています。
GTK#はMonoプロジェクトと一緒にリリースされ、それゆえ、(モノをインストールするのが最善の方法です、それを使用したいhttp://www.go-mono.com/mono-downloads/download.html)。ATK-sharp.dll、GDK-sharp.dll:組成GTK#クラスは、4つの部分に分け 、GLibの-sharp.dll 、このセクションの例を実行するために、及びGTK-sharp.dllこれらの.dllを参照する必要があります。
GTKの#ウィジェットを設立する前に、あなたはGTK環境を初期化するために)(Application.Initを呼び出す必要があります。コントロールは、あなたがこのメソッドを呼び出していない場合は、イベントループを開始するApplication.Run()メソッド、無窓やウィジェットを呼び出すために、表示された後、ユーザーがすべてのウィンドウを閉じたとき、あなたは()、closeイベントループをApplication.Quitをコールする必要があります。私たちは、ユーザーがクリックして他の入力に応答します。GTK#この例では(リスト8-9)、一つのウィンドウのみ、ウィンドウが閉じているとき、あなたはGTK環境を終了することができるように:
ときwindowcloses //イベントループを閉じます
win.Destroyed.Add(楽しい_ - > Application.Quit())
GTK#アプリケーションのレイアウトに小さなプラグインと呼ばれるのHBoxまたはVBoxのを使用し、これらの小さなプラグインクラスは、小さなプラグイン、配置は、水平のいずれかとすることができるにも垂直であってもよい方法を超えて含有することができる、Windowsのと同じではありません。ボーイング8-9は、我々は、小さなプラグインを表すのVBoxは、水平レイアウトで作成します。
//新しいVBOXを作成し、サブコントロールを追加します
)(VBOX =新しいVBoxのを聞かせて
vbox.Add(ラベル)
vbox.Add(ボタン)
8-9は、実施例の完全なリストであり、その結果は、図8-10に示すコード画像を生成しました。
open Gtk
// initalize the GTK environment
let main() =Application.Init()
// create the window
let win = new Window("GTK# and F# Application")
// set the windows size
win.Resize(400, 400)
// create a label
let label = new Label()
// create a button and subscribe to
// its clicked event
let button = new Button(Label = "Press Me!")
button.Clicked.Add(fun _ ->
label.Text <- "HelloWorld.")
// create a new vbox and add the sub controls
let vbox = new VBox()
vbox.Add(label)
vbox.Add(button)
// add the vbox to the window
win.Add(vbox)
// show the window
win.ShowAll()
// close the event loop when the window closes
win.Destroyed.Add(fun _ -> Application.Quit())
// start the event loop
Application.Run()
do main()