No.4ベストアンサー
- 回答日時:
#1です。
訂正版です。前準備として、
1.フォーム上にピクチャーボックス(Picture1)、コマンドボタン(Command1)を配置。
2.フォームのKeyPreviewプロパティをTrueにする。(KeyPressイベントを他のコントロールより先に受け取るため。)
次にフォームモジュールに以下のように記述することでできました。
Dim strABC As String '(フォーム)モジュールレベルの変数
Private Sub Command1_Click()
Dim intRND As Integer
Randomize '乱数発生ルーチンを初期化
intRND = Int(3 * Rnd + 1) '1~3の間で乱数を発生
'intRND(1~3の整数)の値からA,B,Cの画像を表示。strABCにどの画像を表示したか設定。
Select Case intRND
Case 1
Picture1.Picture = LoadPicture("C:\A.BMP")
strABC = "A"
Case 2
Picture1.Picture = LoadPicture("C:\B.BMP")
strABC = "B"
Case 3
Picture1.Picture = LoadPicture("C:\C.BMP")
strABC = "C"
End Select
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If UCase(Chr(KeyAscii)) = "A" And strABC = "A" Then
Picture1.Picture = LoadPicture("C:\D.BMP")
ElseIf UCase(Chr(KeyAscii)) = "B" And strABC = "B" Then
Picture1.Picture = LoadPicture("C:\E.BMP")
ElseIf UCase(Chr(KeyAscii)) = "C" And strABC = "C" Then
Picture1.Picture = LoadPicture("C:\F.BMP")
End If
End Sub
回答ありがとうございます!
訂正版ありがとうございました。
また、KeyPreviewプロパティについても教えて頂きありがとうございました。
No.3
- 回答日時:
rnd関数を使えば簡単にできます。
rnd関数は乱数を発生させる関数です。
int(rnd(1)*3)+1
とすれば整数1~3の乱数が返されます。これは乱数の基本的な使い方です。
後は仕様がよく分からないので適当に補正して下さい。
なお、VBの乱数は精度があまりよくないことが知られているので、
発展としてseedを研究されるとより知識が深まるでしょう。
>Aが表示されたとき、キーボードの「A」を押すとDを表示
キー操作にはkeypress、keydown、keyupの3つのイベントがあり、
この場合はふつうにkeypressに記述すればいいかと思います。
No.2
- 回答日時:
#1です。
勘違いしてました。A,B,Cをランダムに表示させた後に、押したキーによって画像を切り替えるということだったのですね。
私の回答だと、ランダム表示とA,B,Cのどの画像が表示されているかの判定部分が入っていませんね。
すみません。読み飛ばしてください。
No.1
- 回答日時:
質問文だとランダムではなく規則性があるように思えるのですが、
フォームにピクチャーボックス(Picture1)を配置して、フォームのKeyPressイベントに
下記のコードを記述すれば出来ると思いますが。
(画像D,E,FはCドライブの直下にあるBMPファイルと仮定して。)
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc("A") Then
Picture1.Picture = LoadPicture("C:\D.bmp")
ElseIf KeyAscii = Asc("B") Then
Picture1.Picture = LoadPicture("C:\E.bmp")
ElseIf KeyAscii = Asc("C") Then
Picture1.Picture = LoadPicture("C:\F.bmp")
End If
End Sub
※行頭には位置揃えのため全角スペースが入っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- タブレット Kindl fire7を購入しましたが、ひらがな入力をしたいのですが、どこから変更できるのでしょうか 3 2022/09/04 20:19
- Windows 10 Windows 10の立ち上げについて 2 2022/04/17 13:36
- コーヒーメーカー・電気ケトル・電気ポット パルスオキシメーターの故障でしょうか? 自宅に帰りパルスオキシメーターの表示が消えて たので電源ボタ 2 2022/08/21 02:14
- gooブログ Twitterの動画画面をgooブログに埋め込めない 4 2022/06/03 16:40
- Mac OS Macで Microsoft Remote Desktop を使うとキーボードの配列が変わってしまう 1 2022/08/08 17:27
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- LINE スマホを替えてから、LINEの画像が表示されなくなりました 1 2022/10/04 13:41
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
VBでボタンを押すと画像をランダム表示させる
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスポインタの変更
-
画像をランダムに表示させたい...
-
Matlab/SimulinkのChirp信号に...
-
Matlabでsin波を使って矩形波を...
-
ボールが壁に当たって跳ね返る...
-
ピクチャボックスの使用方法
-
画像処理
-
execlp関数で「grep -lr hoe /h...
-
レコードセットにnullの場合
-
チェックボックスを操作できな...
-
VBA public変数はどのようなこ...
-
texで図と表を並べたい
-
エクセルVBAでテキストボッ...
-
二点の座標から距離や角度を求...
-
他のフォームから別のフォーム...
-
【VB.NET】テキストボックスに...
-
定数を構造体で・・・
-
C#のループでtextboxに値を入れ...
-
VBAでcallで呼び出したsubを終...
-
テキストボックスを空白にする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FlexGridで文字色を変更。
-
Matlabでsin波を使って矩形波を...
-
SavePictureで保存できない
-
VB6でマウスのドラッグで範囲を...
-
Matlab/SimulinkのChirp信号に...
-
画像をランダムに表示させたい...
-
ボールが壁に当たって跳ね返る...
-
Picture box の サイズを変更
-
ピッ、ってアルファベットでど...
-
PictureBoxでのアニメーション...
-
消す軌跡と残す軌跡
-
[ASP]小数点第2位以下をカット!
-
VBによる回帰直線のプログラム
-
ピクチャーボックスの画像を印...
-
マウスポインタの変更
-
画像処理
-
SQL文について
-
VB2005での画像処理
-
文字間の幅の設定
-
複雑な条件の書き方
おすすめ情報