Formに貼り付けたActiveXコントロールへのアクセスを別Classに担当させる方法
プログラミング初心者です。
現在VB.NETでRS-232Cで接続するデバイスを制御するフォームアプリケーションを作成しています。
デバイス制御にはメーカからActiveXコントロールが配布されており、それをフォームに貼り付けて基本的な動作をさせるところまではできています。
ただ、現在全てのコードがForm1クラスに記述されており、今後ボリュームが増えていくとメンテがしづらくなりそうですので、まとまった各機能群を別のクラスとして作成したいのですが、フォームに貼り付けたActiveXコントロールを別のクラスから動かすためにはどうすれば良いのかわかりませんので教えていただけないでしょうか。
以外検討してだめだったものです。
Class Class2
Dim frm As Form1 = New Form1
frm.AxSample1
End Class
上記のようにForm1のインスタンスを作成するのも何かが違う気がしますし…。
Class Class2
Dim frm As Form
Public Sub New(ByVal senderfrm As Form)
frm = senderfrm
End Sub
frm.AxSample1
End Class
上記だとAxSample1がClass2に認識されるはずもないですし…。
Importsとか色々試してみたのですがうまく行かず…という状況です。
そもそも根本的に別クラスにさせようということがおかしい、などの回答でも結構です。
よろしくお願いいたします。
お礼
せっかくご回答いただいたのにお礼が遅くなってしまいました、すみません。 なかなかうまくいかずに試行錯誤していたら時間が過ぎてしまいました。 > Inherits AxSample1 のように記述すると、AxSample1がフォームに貼り付けた段階でクラスではないためエラーになってしまいました。 Inherits SampleLib でもうまくいかず…。 結局インスタンス化するときに、NewをオーバーライドしてMe.AxSample1を引数として渡すことで処理ができました。 また何かありましたらご質問させていただくかもしれません。よろしくお願いします。