質問編集履歴

1

連続発火イベント対策

2020/07/02 00:54

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,63 @@
91
91
 
92
92
 
93
93
  よろしくお願いします。
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ ///追記FileSystemWatcherイベント連続発火対策について
106
+
107
+
108
+
109
+ ```C#
110
+
111
+ private private ImagePreview imagewindow= null;//サブウィンドウをnullに
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ private void OnChanged(object sender, FileSystemEventArgs e)//FileSystemWatcherイベント発火
120
+
121
+ {
122
+
123
+ Dispatcher.BeginInvoke((Action<FileSystemEventArgs>)OnChangedInMainThread, e);//これ(メイン処理)を実行
124
+
125
+ }
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ private void OnChangedInMainThread(FileSystemEventArgs e)//メイン処理
134
+
135
+ {
136
+
137
+ if (imagewindow== null)//imagewindowがnullだった場合imagewindowを開く
138
+
139
+ {
140
+
141
+ imagewindow= new ImagePreview ();
142
+
143
+ imagewindow.Closed += (fomsend, err) => { imagewindow= null; };//ImagePreview が閉じたことを通知してimagewindowをnullにする
144
+
145
+ imagewindow.Owner = this;//親子関係
146
+
147
+ imagewindow.Show();
148
+
149
+ }
150
+
151
+ }
152
+
153
+ ```