- ベストアンサー
オプションボタンによっての表示/非表示
連続の質問で申し訳ございません。。。 オプションボタンが4つあります。 それによって、隣のframe113を表示/非表示にしたいです。 考え出したのが、↓なのですが、a4というオプションボタンをクリックすると表示されるようになったのですが、一度表示されたら最後、その他a1~a3をクリックしても(a4がFALSEの状態になっても)消えません。 Private Sub a4_Click() Frame113.Visible = True End Sub 基本的事ばかりで申し訳ございませんが宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub a1_Click() Frame113.Visible = False End Sub これをa2、a3と作っていけば出来ませんか?
その他の回答 (3)
- tetu_japan
- ベストアンサー率0% (0/2)
はじめまして。tetuといいます。 僕は、rikamiさんのようにオプションボタンを使ってなにかを制御するような場合、Timerコントロールを使用してよく制御しますよ。 Timer1をフォームに張付けて、Enabled=True、Interval=10程度にしておきます。そこで下記コード。 Sub Timer1_Timer() Select Case SlctdItemNumber(Option1) Case 1 Case 2 Case 3 Case 4 End Sub Private Function SlctdItemNumber(oOption as Object) as Long Dim tmp as Object For Each tmp in oOption If tmp.Value=True then SlctdItemNumber=tmp.Index Exit For End If Next tmp End Sub このコードのミソは、Optionボタンを配列にしておき、Timerイベントだけで一括管理できる点です。わりと選択系のコントロールはこのようにするとスッキリすると思うのですが。
- nishi6
- ベストアンサー率67% (869/1280)
Clickイベントではなく、Changeイベントにしたらどうでしょうか Frame113の初期状態のVisibleは何か設定されているとします。 Private Sub a4_Change() Frame113.Visible = a4.Value End Sub
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 まず、オプションボタンが4つあって、あるコントロール(frame113)の表示/非表示の切り替えを行うというのがよくわかりませんが。 (表示と非表示の2種類で何故4つのボタン?) それはさておき、どこかに、 Frame113.Visible = False というコードを書いて、それが実行されなければ、非表示になるはずがありません。 a1~a3のクリックイベントに上記のコードを書けば、とりあえず出来ますが。 ちなみに、普通はオプションボタンは、コントロール配列にしますよ。