/ / form2のform1からタブページのコレクションへの参照を与える方法(VB.NET) - vb.net、collections

form2からform1のタブページのコレクションへの参照を与える方法(VB.NET) - vb.net、collections

私はフォローしてみました、

form1では、

Dim removedtabs as New Collection()

そしてform2では、私は次のようにそれを参照しようとしました、

form1.ControlCollection(removedtabs)

しかし、それはエラーを与えます。

私はvb.netが初めてで、コントロールコレクションを使ったことがありません。

ありがとう

回答:

回答№1は0

Formsは普通のクラスであり、クラスのメンバーは プライベート デフォルトで。少なくともキーワードを使う必要があるでしょう Public の代わりに Dim。しかし、もう少し深く掘り下げてみましょう。もう少し指摘しておく必要がある点がいくつかあります。

  • Collectionオブジェクトを使用しました。正当な理由はありません これまで このオブジェクトを使用してください。主に古いコードとの後方互換性のために存在します。あなたは本当にジェネリックコレクション型の1つを代わりに使うべきです。
  • 「デフォルトのフォーム1を使用しているようです」インスタンス。 Collectionクラスと同様に、これらのデフォルトインスタンスは主に下位互換性のために存在します。あなたは本当にあなた自身のフォームオブジェクトのインスタンスを作成し(フォームのコピーを1つしか持てないと言った人はいません)、それらのインスタンスへの参照を他のクラスに送信するべきです。
  • オブジェクトを直接公開するのではなく、宣言を非公開にします。コレクションを返すためにgetセクションだけを持つプロパティを追加します。