質問: ### 前提・実現したいこと VB.NETでWindows Formsアプリを作っています。 引数でフォームのインスタンスを取得し、メンバへアクセスしようとするところで、「メンバではありません」というエラーが出ており、困っています。 ### 発生している問題・エラーメッセージ ``` valueはFormのメンバではありません。 ``` ### 該当のソースコード ``` Sub My_Controle(ByRef f As System.Windows.Forms.Form, ByRef pic As Short) ... With f With .value(pic) ... End With ``` ### 試したこと 1)Formの.Designerを確認し、valueがあることを確認。 2)Form1.valueという書き方では、参照できることを確認。 ### 補足情報(FW/ツールのバージョンなど) OS:Windows10 開発環境: Visual Studio 2017 .Net Framework4.6.1
回答: valueを持っているのはあくまで**Form1クラス**であって**Formクラス**ではありません。 関数の引数として`System.Windows.Forms.Form`として定義しているのでFormクラスとしてアクセスしようとします。 この為にFormクラスにはvalueがないのでエラーとなります。 引数の型としてForm1を指定してください。