- PR -

MessageBoxを使いたいのですが

投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-02-29 19:19
 何度も、すいません。

本日、最後にもう1つ教えて頂きたいのですが
MessageBox.Showとコーディングすると
名前'MessageBox'は宣言されていません
のエラーになってしまいます。

どういうことなのでしょうか?

nakaP
大ベテラン
会議室デビュー日: 2005/09/27
投稿数: 138
お住まい・勤務地: 高知
投稿日時: 2008-02-29 19:27
System.Windows.Forms名前空間は参照されてますか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-02-29 20:04
引用:

なびさんの書き込み (2008-02-29 19:19) より:

MessageBox.Showとコーディングすると名前'MessageBox'は宣言されていませんのエラーになってしまいます。
どういうことなのでしょうか?


System.Windows.Forms.MessageBox.Show("にゃんにゃん")
とコーディングしてもダメであれば、System.Windows.Forms のアセンブリの参照がないことになります。 上記のコードで問題ないのであれば、System.Windows.Forms 名前空間が Imports されていないだけです。

ちなみに ASP.NET (Web アプリケーション) では、MessageBox クラスは事実上扱えませんのでご注意ください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-03-01 09:56
おはようございます。

早速、試してみました。
まず、今はクラスモジュールで行っています。

System.Windows.Formsが参照されていませんでしたので
参照の追加をしました。
けれどもまだ「宣言されていません」になります。

次にSystem.Windows.Forms.MessageBox.Showと
しましたらOKでした。


Imports されていないだけですと
ありますがクラスモジュールで使おうと
思ったらImports System.Windows.Forms
とコーディングしなくてはならないのでしょうか?
indigo-x
大ベテラン
会議室デビュー日: 2008/02/21
投稿数: 207
お住まい・勤務地: 太陽の塔近く
投稿日時: 2008-03-01 10:53
そうです。

名前空間と言うものがありまして。
Importsを書かなければ、名前空間のすべてを書かなければなりません。

逆にImportsを書けばそこまで省略できると言うことです。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2008-03-01 11:01
Imports というのは、ソースファイルの中にあるクラス名が書かれていた時に、指定した名前空間の下も探してみるという命令(?)です。

つまり、ソースコードを短く分かりやすく書く以上の効果はありません。
VBのWithなんかと同じだと思います。単に省略して書けるようになるだけです。
ですので、
引用:

なびさんの書き込み (2008-03-01 09:56) より:
クラスモジュールで使おうと
思ったらImports System.Windows.Forms
とコーディングしなくてはならないのでしょうか?


やってもいいしやらなくてもいいです。省略して書くか書かないかの違いですから。
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-03-01 11:15
 解りました。

みなさん、ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-03-03 10:32
引用:

なびさんの書き込み (2008-03-01 09:56) より:

Imports されていないだけですと
ありますがクラスモジュールで使おうと
思ったらImports System.Windows.Forms
とコーディングしなくてはならないのでしょうか?


プロジェクト全体で Imports することもできます。 そうすれば当該プロジェクトのすべてのソースファイルに Imports を記述する必要はなくなります。 これが良いか悪いかは個人に依存します。(この機能は VB 固有のものです)

詳しくはプロジェクトのプロパティをご覧ください。 VB であればプロジェクトの種類を Windows アプリケーションにすれば最初から加わっているハズですけど...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)