-PR-
解決済み

オプションボタンによっての表示/非表示

  • すぐに回答を!
  • 質問No.460449
  • 閲覧数184
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

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

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

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

基本的事ばかりで申し訳ございませんが宜しくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル12

ベストアンサー率 27% (225/825)

Private Sub a1_Click()
Frame113.Visible = False
End Sub

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

その他の回答 (全3件)

  • 回答No.2
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。

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

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

Frame113.Visible = False

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

ベストアンサー率 68% (791/1163)

Clickイベントではなく、Changeイベントにしたらどうでしょうか
Frame113の初期状態のVisibleは何か設定されているとします。

Private Sub a4_Change()
  Frame113.Visible = a4.Value
End Sub
  • 回答No.4
レベル6

ベストアンサー率 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イベントだけで一括管理できる点です。わりと選択系のコントロールはこのようにするとスッキリすると思うのですが。
このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ