日曜日, 1月 20, 2008

C#特訓(Windowsフォーム アプリケーション作成編)

心機一転してC#のお勉強を始めてみた。

まずはここからMicrosoft Visual C# 2008 Express Editionをダウンロードします。
インターネット経由で.netフレームワークやらIDEをダウンロードしてインストール作業が自動的に進みます。

しかし、何故か1回目は.net Framework3.5のインストール段階でフリーズです。。。
何か雲行きがいきなりおかしくなってきました。。。
一度、中断して再度インストールを実行すると無事インストールされました。(よかったよかった)

さて、まずはC#の教材として最適なものをWeb上で探そうとしましたが、どうやらC#ってのは既に3ヴァージョンあるみたいです。(この辺はJavaと同じですかね?下位互換とかは大丈夫なのかな?)

せっかくやるのなら最新のでお勉強したいものです。
そこらへんにあるC#入門でやるのはあきらめてIDE周りの使い方も勉強したかったので、「スタートページ」の「作業の開始」ってところにある『最初のアプリケーション』というのから手をつけてみましょう。

どうやらお題はWebブラウザを作成するといったものです。

題して『方法 : C# Windows フォーム アプリケーションを作成する』です。

VBちっくにフォームに部品をあれこれ置いて行きF5を押すと自動的にビルドされ実行されます。

言われたとおりにコードを足したのに動かない。。。

ウィンドウは出てくるんですけど、指定したURLへ移動できないのです。。。

ここで、そういやprivateメソッドで各種アクションの挙動は追加したけど、フォームのどことも紐づけていなかったことに気付きます。

よくよく、説明を読んでみると稲妻マークのところで紐づけるようです。

コード的には
this.goButton.Click += new System.EventHandler(this.goButton_Click);
  • goButtonはボタンオブジェクトの名前
  • goButton_Clickはイベントメソッドの名前
ってのがボタンと動作をくっつける動作であることを理解.

しかし、this.goButton.ClickってのがClickしたときのプロパティであることは理解できるんですが、
「+=」なんてやり方で追加しちゃっていいんですか??

うーん、単純でわかりやすいと言えば分りやすいのかもしれないけど、やっぱaddEvent(EventHandler)ってイメージとのギャップに少し驚きです。
あとは、
namespase Foo{ public class Bar{public void method(){}}} ってな具合にnamespaseから{}で囲まないといけないってことが最初わからず。いつまでもエラーが消えなくて泣きそうに。。。
理由がわかれば非常に恥ずかしいですけどね。。。

もうひとつクラス上でのpartial宣言が「何じゃこりゃ?」って最初は思いました。
Javaと違ってクラス名とファイル名が一致しないなんて事ができるんですね。驚きでした。

しかし、無料でIDEを出してくれたMicrosoftさんありがとうです。
今度は別の教材を勉強しようと思います。

今日はここまでです。

0 件のコメント:

failed to read qemu headerのときのメモ

かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...