MonoDevelop - Linux で動く .NET 開発環境で遊んでみる [Part3]

 

6. Windows.Forms を使ってみる

いろいろ探ってみたのだが、MessageBox.Show に相当するものが見つからない。

これは、Windows.Forms のものなので、このままでは使えない模様。

Gtk# で使う方法を知りたいのだけど、ネットが使えない環境でいじっていたため断念。

というわけで、Windows.Forms と同じことができちゃう、互換機能が Mono には備わっている。

今回はそれを利用してみよう。

 

mono38 

ビューリストから、参照を右クリックして [参照アセンブリの編集] を開く。

上のような画面が出てくるから、"System.Windows.Forms" にチェックを入れる。

ここの画面から、いろいろな参照設定を追加することが可能だ。

 

mono23

参照に "System.Windows.Forms" が追加されていることを確認する。

そして、この上の画像を参考にソースを変更してください。

MessageBox.Show("Hello, world!");

を追加しただけでは、Gtk# とぶつかってうまく動かないみたいです。

using Gtk;

protected void OnDeletedEvent (...)
{
        ....
}

この辺を、すべてコメントアウトしたら動きました。

 

mono24 

やった!

というわけで、Windows.Forms を使うことも成功。

Windows.Forms を使うと、UI のデザインが少し変わるみたいだが、気にするほどでもないだろう。

で、Gtk# で MessageBox.Show 相当のものってどうやって使うのだろう?

いまだにわからない。まあ、手探りで進めてるからしょうがないか。

 

7. Glade を使って GUI のデザインをしてみる

mono65 

Fedora で標準でインストールされる、GUI ビルダーと言えば Glade である。

Mono は、この Glade を使ったアプリにも対応している。

新しいソリューションを開いて

C# -> サンプル -> Glade# 2.0 プロジェクト

を選択して、作成する。

 

mono27

プロジェクトが作成されたら、ビューリストから

リソース -> gui.glade

というのがあるのが確認できるだろうか。

これをダブルクリックする。

 

mono28

Glade が開く。

あとは、デザインしてあげればよい。

 

mono30

たとえば、こんな感じに作成できた。

[保存] をおせば、情報が保存される。

あとは、MonoDevelop のほうで実行してみる。

 

mono40

このように、Glade でデザインしたフォームを開くことができた。

ちなみに、クリックしたときのイベントとかをいろいろ探ってみたんだけど、うまくいかない。

Glade のほうで、イベントの設定はしたんだけど、Mono のほうがだめっぽい。

エラーが出て終了。

これは、またあとで少しいじってみることにする。

 

8. Visual Studio のプロジェクトを読み込んでみる。

image53 

どうも、Mono には Visual Studio で作成したプロジェクトの読み込みもできるらしい。

というわけで、Visual Studio で上記のような簡単なプロジェクトを作成して、Mono に読み込ませてみた。

 

mono55

"Open a Solutin / File" を開いて、Linux にコピーしてきた Visual Studio のソリューションファイルを読み込ませてみる。

拡張子が、.sln のファイルである。

 

mono33

お、マジで開けちゃった。

 

mono36 

実行できちゃったw

というわけで、ごくごく簡単なアプリであれば、そのまま Windows で開発していたものを動かすことができるようです。

すごい、Mono!

 

9. まとめと感想

Mono を使って、なにか本格的なものを作ってみたくなってきた。

といっても、そんな遊んでる時間がない・・・。

しかし、Mono も MonoDevelop もすごいの一言だ。

ただ、まだまだ未完成なところがあるので、そこら辺を煮詰めていけば、もっと良いものになると思う。

Windows.Forms 以外の API もたくさん実装されるようになれば、本当に Windows と Linux で同じアプリが動かせるなんて日も近い。

Java は何というか、個人的に好きじゃない。

Novell 主導で開発が進められている上に、これからのことを考えると Mono プロジェクトは、オープンソースのプロジェクトの中でも、かなり期待できる分類に入るのではないかと。

なんて軽く言ってきたけど、MS のまねをしたら、著作権があ~ってなるわけだし、そういうことを考えながら作っていくのは相当な苦労だろ思う。

え、自分が手伝えばいいじゃないかって?技術が足りなくて、たぶん無理です。

 

mono48

それと、僕が使っていた中で一番重大だと思ったものは、なぜかソリューションを開きなおすと、GUI ビルダーが使えなくなること。

これどうかしてくれ。

って、MonoDevelop のバージョン見たら、0.19 みたい。

サイトに行ったら、1.0 が公開されてるw

よく見たら、起動ロゴに RC1 って表示されてたし。

1.0 が出たといううわさを聞きつけて試してみたのに、RC1 をいじっていたとはw

今から、少し 1.0 をいじってみます・・・。

長くなったけど、これで終わり。

(全部書くのに 3 時間ぐらいかかったっぽいw)

 

 

MonoDevelop - Linux で動く .NET 開発環境で遊んでみる

トラックバック(0)

このブログ記事を参照しているブログ一覧: MonoDevelop - Linux で動く .NET 開発環境で遊んでみる [Part3]

このブログ記事に対するトラックバックURL: http://techno-st.net/mt/mt-tb.cgi/584

コメントする

2008年8月

     12
3456789
10111213141516
17181920212223
24252627282930
31      

アーカイブ

  • 月別アーカイブ:
  • カテゴリーアーカイブ:

Ads

このブログ記事について

このページは、technoが2008年5月 4日 18:08に書いたブログ記事です。

ひとつ前のブログ記事は「MonoDevelop - Linux で動く .NET 開発環境で遊んでみる [Part2]」です。

次のブログ記事は「フラッシュメモリとファイルシステム...」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

 

- 実験中 -

mgfxjey49@techno-st.net

xq58grpua@techno-st.net

m0ss9eatc(at)techno-st.net

y75vdonfa@techno-st.net

edvvb6cx9@techno-st.net

Mail Address