- PR -

VB.NETでフォーム上のコントロールをモジュールから参照

1
投稿者投稿内容
むさし
会議室デビュー日: 2003/07/07
投稿数: 8
投稿日時: 2003-07-08 17:17
はじめまして、VB.NETを使い始めて間もない初心者です。
以前VB6をつかっておりましたがその際、フォーム上のコントロールのプロパティなどを標準モジュール上から取得・設定などできておりましたが.NETからできなくなっているようですがどのようにしたらできるようになりますでしょうか。

これについて以前MSDNか何かで「VB6では暗黙的に宣言されていたがVB.NETからは明示的に宣言しなければならないと読んだことがあったのですがそのときは軽視してしまっていたため気にせずすすめてしまい、ごまかしながら開発を進めてしまったところ今に至り行き詰ってしまいました。

明示的な宣言について再度探したところなぜか見つからず、他にも色々調べてはみたのですが明確な答えが得られず、オブジェクト指向というものを理解できていない為大変混乱してしまっております。
お分かりになりましたらよろしくお願い致します。

(過去ログもある程度さがしてみたのですが見当たらないようでしたのでご質問させていただいたのですが質問が重複しておりましたら申し訳ございません。)
りん
常連さん
会議室デビュー日: 2003/06/30
投稿数: 22
投稿日時: 2003-07-09 14:23
たとえば、このような感じでしょうか?
標準module1の中で

Sub Main()
Dim frm1 As New form1() ---*
msgbox( frm1.label1.text )
End Sub

*このような宣言をすると、form1のプロパティが使えるようになりませんか?
こういうことではなくて、ずれてたらすみません。。
むさし
会議室デビュー日: 2003/07/07
投稿数: 8
投稿日時: 2003-07-09 21:27
引用:


Dim frm1 As New form1() ---*




りんさんご回答ありがとうございました。
当初Publicで宣言していて同様のことをやってみていたと思うのですがその際にはできなかったのですが、Dimで宣言した場合できました。

ただMSDNで見たと思われる明示的な宣言というのはまた別件であるような気がするのですが、皆さんがモジュール内でなくクラス内などで同様のことを行う場合などもこのような方法を使用されているのでしょうか。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2003-07-10 02:52
引用:

当初Publicで宣言していて同様のことをやってみていたと思うのですがその際にはできなかったのですが、Dimで宣言した場合できました。

ただMSDNで見たと思われる明示的な宣言というのはまた別件であるような気がするのですが、皆さんがモジュール内でなくクラス内などで同様のことを行う場合などもこのような方法を使用されているのでしょうか。


MSDNで見たと思われる明示的な宣言というのはどういうものか知りませんが、
Dim frm1 As New form1()
これはやりたいことの解決にはなってないと思われます…
エラーは出ずに動作したとしても、多分期待の動作ではないはずです…
むさし
会議室デビュー日: 2003/07/07
投稿数: 8
投稿日時: 2003-07-11 09:58
[/quote]
エラーは出ずに動作したとしても、多分期待の動作ではないはずです…
[/quote]

なちゃさんご回答ありがとうございます。
おっしゃるとおり別の状況の場合エラーとなりました。
基本的な事だと思うのですがあまり一般的な疑問となってないのが個人的には少々不思議な感じです。
また時間のあるときにでも詳しく調べて見たいと思います。
ありがとうございました。
1

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