Formを表示するときのコードの書き方は?

解決


VB.NETビギナー  2006-11-09 01:58:52  No: 134028

フォームを表示する場合のやり方として次のようなコードを見ます。

Dim f1 As New Form1()
f1.Show()

いままでVB6でプログラムを作ってきましたが、直接

Form1.Show

のように書いていましたが、VB.NETの解説ではまだ
見たことがありません。

どちらを使ったらいいのでしょうか?
理由もあわせて教えていただけませんか。


Blue  2006-11-09 03:01:02  No: 134029

じゃんぬさんのブログ参考にしてみては。
http://blogs.wankuma.com/jeanne/archive/2006/10/26/42540.aspx


大吉末吉  2006-11-09 03:03:09  No: 134030

VB.NETビギナー  さん  こんにちは。

VB.NETのバージョンは?
VB.NET(2002)?  VB.NET2003?  VB2005?

> Dim f1 As New Form1()
> f1.Show()

この方法が、VB6でも使える事はご存知ですか?

> Form1.Show

は、VB6までで使えた「特殊な記述法」です。

> 見たことがありません。
と言うより、VB.NET(2002)やVB.NET2003では「使えません」。

#但し、VB2005では、復活しましたけど・・・

で、どう特殊かというと、実は、
> Form1.Show
ここの「Form1」は、『フォーム名称』ではなく、『変数名』なんです。

「VBがこっそり『フォーム名称と同じ名前の変数』を宣言している」
つまり、見えない所で、
> Public Form1 As New Form1
と言うコードを作っているんです。

「『フォーム名』を直接指定して表示できるような錯覚に陥らせ」て
「使いやすく」しているつもりなんでしょう。

で、私の結論。
・「Form1.Show」は、VB.NET(2002)やVB.NET2003では使えない。
・実質的に、やっている事は同じ。

って事で、

> Dim f1 As New Form1()
> f1.Show()

私は、こちらの方法を推奨します。


VB.NETビギナー  2006-11-09 18:30:22  No: 134031

>BLUEさま
ありがとうございます。
少し長いようなのでじっくりと読んでみます。

>大吉末吉さま
VB6でも同じ書き方ができることは知っていましたが
まったく使ったことはありませんでした。

Public Form1 As New Form1
という宣言をこっそりやっているということで納得できました。
推奨してくださった書き方を採用させていただきます。
ありがとうございました。


VB.NETビギナー  2006-11-10 19:40:13  No: 134032

解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加