No.10ベストアンサー
- 回答日時:
>その時にひとつも選択されていなくて コマンドボタンを押すとエラーメッセージボックス
ロード時にコマンドボタンのEnable=Flaseにしておいて、オプションボタンのクリックイベントが発生したら、コマンドボタンのEnable=Trueにした方が単純だと思いますが・・・・
言われた通りの仕様であるならば・・・
オプションボタンはコントロール配列ですか?
もし違うなら、オプションボタンをコントロール配列にしておくと便利です。。。
オプションボタンの名前を全て同じにしておいてIndexに違う番号を割り当てると、コントロール配列が作成されます。
オプションボタン名=Option1
Private Sub Command1_Click()
Dim opBtn As OptionButton
Dim blnWork As Boolean
Dim getIndex As Integer
'各オプションボタンが選択されたかをチェック
For Each opBtn In Option1
If opBtn Then
blnWork = True
getIndex = opBtn.Index
Exit For
End If
Next opBtn
If blnWork Then
MsgBox "[" & Option1(getIndex).Caption & "] が選択されました"
Else
MsgBox "だめー"
End If
End Sub
No.11
- 回答日時:
またまた追記です。
(最近書き忘れが多い・・・)親になるピクチャボックスのプロパティを
With .Picture1
.Appearance = 0 '平面
.BorderStyle = 0 'なし
.BackColor = &H8000000F 'ここはフォームのバックカラー
.AutoRedraw = True
End With
とすると、ピクチャボックスがフォームと同化します。
いろいろと丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。
No.9
- 回答日時:
訂正です。
「yanmaa」さんの発言
>さらにTAGOSAKU7さん
>~~~~~~
>注意して下さい。
確かにそうですね。。。
Me.Enableの操作は危険でしたね。。。
m(__)m
#7なら大丈夫ですよね?
No.8
- 回答日時:
テキストボックスのプロパティ「Locked」を「True」にするとユーザはキー入力が不可能になります。
但し、マウスカーソルの表示はされます。あとは「KeyPress」のイベントで「KeyAscii」の値を「0」にするとキー入力をキャンセルできます。
なお値を出すだけならばラベルを使う方が良いでしょう。
さらにTAGOSAKU7さんの「Me.Enabled=False」はフォームに対してすると全てのイベントが取れなくなってしまうので、通常あるイベント中に他のイベントを発生させない為に使うのが本来の使い方ですので
Sub 関数orイベント
Me.Enabled=False
処理
Me.Enabled=True
End Sub
と使うのが一般的
そうしないと「閉じる」ボタンすら聞かなくなって停止できないので注意して下さい。
さらに補足
各オブジェクトの「TabIndex」のプロパティ値を変えるとタブキーを押した時のオブジェクトをフォーカス順序を変えれます。0~順に制御(空き番はOK)これが初期のフォーカスにもなりますが、通常SetFocusメソッドを使ってフォーカスを設定します。
但し、SetFocusはEnabled=Trueの時だけ有効です。
がんばってください。
丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。
がんばります!!
No.7
- 回答日時:
もっと簡単な方法がありました。
以下の手順でフォームのデザイン変更を行うと、各コントロールは使用不可になります。
1.フォームにピクチャボックス(Picture1)を作成
2.フォーカスを当てたくない各コントロールをピクチャボックスに貼り付ける
(既存のフォームに存在する各コントロールを、SHIFTキーを押しながら選択して切り取りを実行、Picture1をクリックして貼り付け)
この時フォーム内に閉じるコマンドボタンがある時は、それはPicture1に貼り付けないでください。
3.Picture1.Enabled = False
とするのです。
4.各コマンドボタンを右クリックで最前面へ移動を選択
5.Picture1のサイズをフォームのサイズにあわせる
以上の手順です。
この方法は、書くコントロールの親をフォームからピクチャボックスに変更し、その親を使用不可にする事により、コントロールの無効を制御できます。
No.5
- 回答日時:
>どのオプションボタンにもカーソルを選択させたくない場合は どのように設定すればよいですか??
方法は二つあります。
1.フォームの使用不可
Me.Enabled=False
2.フォームの内容をピクチャボックスに貼り付け、ピクチャボックスをフォームの中に最前面にする。ユーザー側には全てのコントロールが見えるけど、実際には各コントロールの描かれたピクチャボックスが表示されているわけです。
この回答への補足
オプションボタンは3つあって
どれかひとつを選んで次のフォームにいきたいんです。
最初そのオプションボタンがあるフォームがLoadされ
どれも選択されていなくて、ひとつを選択し
コマンドボタンで次のフォームに移りたいんです。
その時にひとつも選択されていなくて
コマンドボタンを押すとエラーメッセージボックス
を出すようにしたんです・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
ボタンをマウスで押し続けたと...
-
アイコンとボタンの違い
-
プロシージャからイベントをコ...
-
VBA IE通知バーの制御 バー内の...
-
フォームの再読み込み
-
見えないボタンを作って、押さ...
-
VBAで多数のプログラムを一つの...
-
VBA でのボタンの移動について
-
チェックボックスで指定出来る...
-
BorlandC++Builderでのタイマー...
-
[Excel VBA]コマンドボタンの入...
-
ボタンの増殖
-
ボタンにセットフォーカスする...
-
Excel VBA Application.caller...
-
vb.net タイマーに引数を渡す
-
閉じると「+」になり開くと「-...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
VBA CommandButtonの文字ずれ
-
アイコンとボタンの違い
-
Excel VBA Application.caller...
-
コマンドボタンやイメージにマ...
-
閉じると「+」になり開くと「-...
-
VBAのボタンの位置が変わって困...
-
[Excel VBA]コマンドボタンの入...
-
VB.net でトグルボタンを実現し...
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
ボタンをマウスで押し続けたと...
-
VBAで多数のプログラムを一つの...
-
プロシージャからイベントをコ...
-
ASP.Net ラベルの内容をすぐに...
-
TextBoxでEnterキーを押すと、...
-
他フォームのクリックイベント取得
おすすめ情報