データベースだけではない6

前回汎用性のあるタイマーを作成しました。
Toidasu使用の場面では前の説明通りのタイマー機能で十分だと思いますが、他の場面での利用を考えてタイマーのフォームから別のフォームを制御する方法を確認しました。
Toidsau本体フォームとFtimerフォームがあり、
Toidsau本体フォームからctrl+F2でFtimerを開くと特別な学習モード(5)となり、
ステージ選択のコンボボックスcom1のAfterUpdateイベント時にタイマースタートを記述します。
ステージ選択前に時間はセットしておきます。
時間になると、選択肢が使えなくなり解答権がなくなります。

その部分だけのコードを示しておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
'-----Toidasu本体---------- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode '途中略 Case vbKeyControl And vbKeyF2 Me.Tmode = 5 DoCmd.OpenForm "Ftimer" End Select End Sub '-------------- Private Sub com1_AfterUpdate() If Me.Tmode = 5 Then Forms!Ftimer.TimerInterval = 1000 End If '途中略 End sub '-------Toidasu本体ここまで-------- '-------Ftimerここから------ '---途中略 If i = 0 Then '残り時間0 Me.TimerInterval = 0 MsgBox "時間です" For j = 1 To 8 Forms!Toidasu.Controls("Tsentakusi" & j).Enabled = False Next Exit Sub End If End Sub |
任意の学習モード(実際には1と2です。3はもともと時間制限あり)で使っても構いません。
その場合は、時間セット後、任意のタイミングでタイマーをスタートさせればよいです。
別フォームのコントロールをタイマーから制御できれば、アイディア次第でいろいろな使い方ができると思います。
コメントを残す