在下面的代碼我有一個觀察者,看起來如果文件已經改變,如果它改變了我的顯示更改後的信息在窗體上,但如果我使用form.Show()這個凍結,但form.showDialog()工作正常,就是這兩個,以及如何之差來確定使用哪一個爲什麼form.showdialog()的作品和form.show()沒有做下面的代碼
private void watcher_Changed(object sender, FileSystemEventArgs e)
{
_watcher.EnableRaisingEvents = false;
try
{
if (_displayPatientInfo != null)
{
_displayPatientInfo.Dispose();
}
GetPatientInfo(e.FullPath);
using (StreamReader sr = new StreamReader(e.FullPath, Encoding.Default))
{
String line;
line = sr.ReadToEnd();
if (line.IndexOf("<IsPatientFixed>") > 0)
{
var value = GetTagValue(line, "<IsPatientFixed>", "</IsPatientFixed>");
if (value == "true" || value == "True")
{
_displayPatientInfo = new frmPatientInfoDisplay();
_displayPatientInfo.SetData(_patientInfo);
_displayPatientInfo.ShowDialog();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
_watcher.EnableRaisingEvents = true;
}
}
ShowDialog的代表模態窗口,顯示非模式。這可能有所幫助:http://msdn.microsoft.com/en-US/library/39wcs2dh(VS.80).aspx 對不起,錯誤的複製和粘貼。 –
@PabloRomeo這是鏈接到我的問題只有 –