タイトル : Re^4: 複数のForm上の同名のコントロールに関しての処理をまとめるには 投稿日 : 2007/08/09(Thu) 14:07 投稿者 : ひでと
すいません。良く理解できないのでもう少し教えてください。 > > しかし、FormAだけのコントロール TextBoxA とかFormBだけのButtonB などの > > コントロールがあるため FormA,FormBは同じフォームを流用することができません。 > > 共通処理部分を1つのクラスにまとめて、各フォームで継承するとか・・・ > #ちゃんと、対象オブジェクトが外部から見えるようにしないと > #(Modifiers プロパティを変更しておかないと)駄目ですが・・・ > 「共通部分をクラスにまとめる」とは 別に共通部分のフォームを作成するのと 同じでしょうか? (フォームでないとコントロールに 関係する処理でコンパイルできませんよね) ということで、途中の報告をさせていただきます。 同じと考えて、今のフォーム Form0をコピーして別のフォーム Form1 を作ってみました。 Form1のコードの非共通部分を削除しました。 次にコンパイルできないSubとFunctionを作成フォーム Form1上でダミーの定義を Public Overridable でつくりました。 またエラーになってしまう変数を作成フォーム Form1上で定義しました。 次にフォームの追加で 「継承されたフォーム」を選択して新しいフォーム Form2を 作成しました。 継承されたフォーム Form1上に、元のForm0の非共通部分のコードをはりつけ Sub,Function を Public Overrides に変更しました。 この状態で Form1とForm2でのコンパイルエラーは消えています。 その後、非共通部分と共通部分の調整をいくつかしたところ、現状では動くように なりました。 > > > > 単純に共通したプログラム部分を標準モジュールに貼り付けると、TextBox1やTextBox2, > > Button1を参照できないためエラーになってしまいます。 > > 「Modifiers プロパティ」が「Friend」のままだとか・・・ 「継承されたフォーム」を選択して新しいフォーム を作成するようにしてしまいましたので Modifilers プロパティをいじっておりません。 その為、今ひとつフォームのInherits を含めて理解できておりません。 通常はどのようにされるのでしょうか? 教えていただけるとたすかります。 |