我有一個應用程序必須編譯爲x86,因爲一些舊的COM控制器對於很老的第三方軟件驅動程序。ShowDialog編譯爲x64顯示在主窗體後面的x64
我注意到,任何時候我所說的窗體的模態對話框,而另一些應用程序具有焦點(像我踩着通過Visual Studio代碼),該對話框中長大背後父窗口。
private string Locate(string filename) {
if (!File.Exists(filename)) {
using (OpenFileDialog dlg = new OpenFileDialog()) {
dlg.FileName = filename;
if (dlg.ShowDialog(this) == DialogResult.OK) {
return dlg.FileName;
}
}
}
return filename;
}
我可以將應用程序編譯爲x64,但加載COM驅動程序將失敗,導致應用程序永遠不會啓動。
是否有其他人注意到(Visual Studio,.NET Framework或Windows 7)的這種行爲?如果沒有,那麼我必須在我的代碼中有其他地方發生一些扭曲的事情。
有沒有辦法「修復」它?
這是什麼?定位'Locate'方法在哪裏?它在我看來像是你錯誤地獲得了模態對話的所有權。 – 2012-08-14 19:33:35