自作のユーザーコントロールをフォームに貼り付け、
それをクラスに渡してクラス内でそのコントロールのVisibleを制御しようとしておりますが、
フォームからコントロールのVisibleプロパティにアクセスできますが、
クラスからだと、
メソッドまたはデータメンバが見つかりません
とコンパイルエラーが出ます。
そこで、コントロールをControlやUserControlにキャストしてみましたが
型が一致しません
というエラーとなってしまいます。
コントロールにVisibleプロパティの追加を試みましたが、
ActiveXコントロールインタフェースウィザードの使用できる名前に於いて
それらのプロパティが列挙されません。
対象がユーザーコントロールでなく、ボタンなどの標準コントロールの場合は
できたのですが・・・
なにか方法をご存知でしたらご教授ください。
No.1ベストアンサー
- 回答日時:
Visibleプロパティを管理しているのがコンテナ側だからですよ
FormやPictureBoxはコンテナになりますのでフォームにはったUserControlの場合はVisibleプロパティが操作可能です
クラスに渡した UserControlですとこのコンテナが提供するExtenderプロパティを直接操作することが出来ないのではと思います
UserControlにVisibleを操作するプロパティを追加してみましょう
private bVisible as Boolean
Public Property Let MyVisible(value as Boolean)
bVisible = value
' Extenderを通してVisibleを操作
Extender.Visible = value
PropertyChanged "MyVisible"
End Property
Public Property Get MyVisible() as Boolean
MyVisible = bVisible
End Property
Private Sub UserControl_InitProperties()
' プロパティの初期化
bVisible = Extender.Visible
End Sub
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
bVisible = PropBag.ReadProperty("MyVisible", Extender.Visible)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty "MyVisible", bVisible, Extender.Visible
End Sub
といった具合のコードを追加しておきます
クラス側では
obj.MyVisible = True
または
obj.MyVisible = False
といった具合で操作してみましょう
できました!!!
Extenderプロパティが要点なんですね。
どういうものかいまいちわかっていませんが。
とにかく、これを使ってActiveXコントロールインタフェースウィザードなんか気にせず無理やり実装しちゃえばよさそうですね。
実をいいますとVisible以外にもWidthとかHeightとか必要で結構面倒です(涙)。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- その他(コンピューター・テクノロジー) コントロール+Fキーについて 2 2022/10/03 16:59
- セキュリティホール・脆弱性 論理的アクセス・コントロールに関する問題で悩んでいます 1 2022/10/08 08:42
- Bluetooth・テザリング スマートウォッチについて質問です。 スマートウォッチには音楽コントロール(再生、停止など)ができる機 1 2022/03/27 18:27
- ノンジャンルトーク 生理ってただの腹痛だよな笑 生理如きで痛がる演技するのは不愉快。生理なんてよ、何度も来てんだからコン 6 2023/04/19 09:51
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
frxファイルの役目
Visual Basic(VBA)
-
VB6.0のWritePropertyとReadPropertyについて
Visual Basic(VBA)
-
pingを行うプログラム
Visual Basic(VBA)
-
-
4
OCXって何ですか?
Visual Basic(VBA)
-
5
OCXが読み込めない
Visual Basic(VBA)
-
6
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
7
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
8
ユーザーコントロールの参照について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
質問です。 場面緘黙症で苦しん...
-
ユーザーフォームで動的(Me.Con...
-
VB.NETで、DataGridのヘッダー...
-
論理的アクセス・コントロール...
-
With~EndWithの省略部分と引数...
-
EXCEL VBA リストビューの項...
-
ActiveXとは
-
VB6のユーザーコントロールの受...
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
VBAでドラッグ・アンド・ドロップ
-
Winsockのオブジェクトエラー
-
VBA ユーザーフォームの Keypre...
-
winndws セキュリティ
-
Property Letについて
-
コントロール配列と同じような...
-
エクセルのVBA実行中の進捗...
-
OLEオートメーションエラー?
-
EXCELVBAのフォームコントロー...
-
VB.NET電卓
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
VBAのエラーについて、”実行時...
-
コンボボックスの文字によるif...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報