フォームをランダムに呼び出すには?

解決


魔鬼  2004-01-14 23:36:55  No: 111279

ボタンを押したらフォームがランダムで表示させる方法がわかりそうでわからないのですが、どなたかわかる人がおられたら教えてください。お願いします。あと一回表示したらかぶらないようにする方法もできればお願いします。


Say  2004-01-14 23:45:42  No: 111280

複数のFormのなかから、という意味でしょうか?
Formがn個あるなら、
0〜n-1の整数をシャッフルして配列に入れ、
順に取り出して、それをIndex値として
formsコレクションで取り出すとか・・・


魔鬼  2004-01-14 23:48:22  No: 111281

説明不足でしたね。複数のフォームの中からどれかをとりだすということです。


魔鬼  2004-01-14 23:57:59  No: 111282

なにぶん初心者の中の初心者なので適当でいいんでソースを表示してもらえれば幸いなのですが・・・ぜひお願いします。


kana  2004-01-15 00:49:28  No: 111283

なんでもアリと思いますが、一例です。
Private Sub cmdCommand_Click()
   Call subSample
以下略

Public Sub subSample()
Dim frmSample As Form
        Select Case Int(Rnd(1)*5)+1    
          Case 1
            Set frmSample = New Form1
          Case 2
            Set frmSample = New Form2

        End Select
        frmSample.Show vbModal

   frmSample = Nothing
Exit Sub


魔鬼  2004-01-15 00:51:53  No: 111284

こんなわがままな質問に答えていただいてどうもありがとうございました!また色々とおねがいすることになるかもしれませんがよろしくお願いします。


kana  2004-01-15 00:52:56  No: 111285

送信を押してないのに投稿されてしまいました。
乱数箇所は一度変数に格納してから、比較しないといけませんね。

Dim intR As Integer
intR = Int(Rnd(1)*5)+1    
        Select Case intR


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加