14歳の自分に衝撃の事実を告げてください

連続の質問で申し訳ございません。。。
オプションボタンが4つあります。
それによって、隣のframe113を表示/非表示にしたいです。

考え出したのが、↓なのですが、a4というオプションボタンをクリックすると表示されるようになったのですが、一度表示されたら最後、その他a1~a3をクリックしても(a4がFALSEの状態になっても)消えません。

Private Sub a4_Click()
Frame113.Visible = True
End Sub

基本的事ばかりで申し訳ございませんが宜しくお願いします。

A 回答 (4件)

Private Sub a1_Click()


Frame113.Visible = False
End Sub

これをa2、a3と作っていけば出来ませんか?
    • good
    • 0

はじめまして。

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イベントだけで一括管理できる点です。わりと選択系のコントロールはこのようにするとスッキリすると思うのですが。
    • good
    • 0

Clickイベントではなく、Changeイベントにしたらどうでしょうか


Frame113の初期状態のVisibleは何か設定されているとします。

Private Sub a4_Change()
  Frame113.Visible = a4.Value
End Sub
    • good
    • 0

こんにちは。

maruru01です。

まず、オプションボタンが4つあって、あるコントロール(frame113)の表示/非表示の切り替えを行うというのがよくわかりませんが。
(表示と非表示の2種類で何故4つのボタン?)

それはさておき、どこかに、

Frame113.Visible = False

というコードを書いて、それが実行されなければ、非表示になるはずがありません。
a1~a3のクリックイベントに上記のコードを書けば、とりあえず出来ますが。
ちなみに、普通はオプションボタンは、コントロール配列にしますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報