• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Formに貼り付けたActiveXコントロールへの)

Formに貼り付けたActiveXコントロールへのアクセスを別Classに担当させる方法

このQ&Aのポイント
  • VB.NETでRS-232Cで接続するデバイスを制御するフォームアプリケーションを作成中です。現在、Form1クラスにすべてのコードが記述されており、メンテナンスが困難になる可能性があります。 ActiveXコントロールを別のクラスから操作するにはどうすればよいでしょうか?
  • デバイス制御にはActiveXコントロールが使用されており、フォームに貼り付けて基本的な動作をさせています。しかし、今後の追加機能やメンテナンスを考えると、コードを別のクラスにまとめたいと考えています。 ActiveXコントロールを別のクラスから操作する方法を教えてください。
  • VB.NETでRS-232Cで接続するデバイスを制御するフォームアプリケーションの開発をしています。現在、すべてのコードがForm1クラスに記述されていますが、メンテナンス性を考えて、ActiveXコントロールを別のクラスから操作したいと考えています。 ActiveXコントロールを別のクラスから操作する方法を教えてください。

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

  • ベストアンサー
回答No.2

> Inherits AxSample1 > のように記述するのでしょうか? これでOKですね。 > その場合、グループ分けした機能群の数だけActiveXコントロールの派生クラスを作成するような > イメージでしょうか。 こちらも、その考え方でOKです。 機能ごとに派生クラスを用意するという事は、例えば以下のような事ですよね。 基底クラス:TextBox 派生クラスA:数値のみ入力可能なTextBox 派生クラスB:郵便番号のみ入力可能なTextBox ※ 補足として、継承について書かれているHPを記載しておきます。 http://homepage1.nifty.com/rucio/main/VBdotNet/Advance/Advance2.htm http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet10/vb6tonet10_01.html

penpengusa12
質問者

お礼

せっかくご回答いただいたのにお礼が遅くなってしまいました、すみません。 なかなかうまくいかずに試行錯誤していたら時間が過ぎてしまいました。 > Inherits AxSample1 のように記述すると、AxSample1がフォームに貼り付けた段階でクラスではないためエラーになってしまいました。 Inherits SampleLib でもうまくいかず…。 結局インスタンス化するときに、NewをオーバーライドしてMe.AxSample1を引数として渡すことで処理ができました。 また何かありましたらご質問させていただくかもしれません。よろしくお願いします。

その他の回答 (1)

回答No.1

メーカから提供されたActiveXコントロールを継承して、カスタムコントロール化して、 カスタムコントロール化した物を、実際のフォームで使用というのはダメなのですか?

penpengusa12
質問者

補足

すみません、初心者のためやり方がよくわからないのですが、 Inherits AxSample1 のように記述するのでしょうか? その場合、グループ分けした機能群の数だけActiveXコントロールの派生クラスを作成するようなイメージでしょうか。

関連するQ&A