• ベストアンサー

オブジェクトとコントロールって違うの?

オブジェクトとコントロールの違いは何でしょうか? 例えば、テキストボックスはオブジェクトでもあり、コントロールでもあると思うのですが(ここは合ってますか?)、違いはあるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • haporun
  • ベストアンサー率40% (230/562)
回答No.1

オブジェクトとはクラス型またはコントロール型の変数実態のことです。 さて、言っていることの意味がわからないと思います。 たとえば、フォームというものにはキャプションとか言ったプロパティがあります。 こういったものを定義するのがクラスです。 そして、これを実行したときにフォームが現れます。 これはクラス定義されたフォームの変数を作ったのです。 そしてこれがオブジェクトです。 まだわからないと思います。 As Integerなどと書くように、As Form1などと書くことができるのを知っているでしょうか。 これはForm1という変数の型があるということを示しています。 こうやって、変数の方であるものをクラス、変数そのものをオブジェクトと思えばよいでしょう。 つまり、プロジェクトにForm1を追加すると、Form1という変数の型とForm1という変数が追加されることになります。 さて、コントロールです。 コントロールは位置的にはクラスと同じです。 しかし、コントロールはフォーム上に配置されていなければならないので、単独ではその変数であるオブジェクトを作成することはできません。 フォーム上に配置することによって、そのオブジェクトは作成されます。 クラスモジュールを追加すると、そのクラスの定義を作成することができます。 同時に変数であるオブジェクトは作成されたりはしません。 オブジェクト変数を作成するためには、 Dim x As New Class1 などと、どこかのモジュール内で変数を宣言する必要があります。 Newを調べてわからなかったら、また質問するか補足してください。 クラスは今のように変数を宣言できますが、 Dim x As New CommandButton などという風に、新しいコマンドボタンを作ることはできません。 よくわかんなくなったらまた質問してくださいな。

violet_07
質問者

お礼

非常に詳しい説明をした頂き感謝します。 オブジェクトとコントロールは違うということがわかり大変有意義でした。今の私のレベルではご説明の内容を理解することはとても無理なので、もっと勉強を進めようと思います。どうもありがとうございました。

関連するQ&A