タイマーアプリ(タイマーアパカッ)作成その10、お知らせウィンドウがアクティブ状態で表示される不具合を解消?
時間になった時にでてくるお知らせウィンドウがアクティブになってしまうことがある不具合の修正した、はず
タイマー進行中にメモ帳で何かを書いていて時間が来た時に
今まで使っていたアプリ、上の画像ではメモ帳から
フォーカスが移動してしまう不具合があった
ウィンドウを非アクティブ状態で表示して
他のアプリからフォーカスを奪わないようにした
原因がわからなかった
起動直後は問題なく動いて、他のアプリを使ったりしてウィンドウが下に隠れて
タスクバーのアイコンをクリックして呼び出してタイマーを実行すると
アクティブ状態で表示される、までは突き止めていたので
表示するときや閉じるときに問題があるんだろうなあとは思っていて
なんとなくコードを眺めていて思いついたことを試したら直ったっぽい?
Private Sub お知らせウィンドウ表示(title As String, myTime As String)
'設定でお知らせウィンドウ表示するにチェックが入っていたら実行
If My.Settings.NoticeWindow Then
Dim fm3 As Form3
fm3 = New Form3
With fm3
.Location = l '表示位置
.BackColor = col '背景色
.Opacity = My.Settings.NoticeOpacity '透明度
.Text = myTime & "経ちました" 'タイトルバー
.LabelNotice.Text = title
.TopMost = True '最上面表示
.ShowDialog(Me) 'ダイアログ表示←今回
’.ShowDialog() 'ダイアログ表示←前回
End With
End If
End Sub
Form3がお知らせウィンドウ
非アクティブで表示すること自体は
Public Class Form3
Protected Overrides ReadOnly Property ShowWithoutActivation() As Boolean
'ほとんど理解できていないんだよなあ
Get
Return True
End Get
End Property
今ではこれを書いた(コピペ)時よりはちょっとわかる(わかってない)
この時はほんとにコピペしただけだった
ダウンロード
ヤフーボックス
追記2019/10/16
このアプリは今でも毎日使っている
追記ここまで
前回のタイマーアカパッ、2014/11/01は2ヶ月前