我主要是一个asp.NET MVC开发者,但我继承了一个WinForms应用程序来维护和增强。它的一个功能是一个报告窗口,它只是一个带有BrowserPanel控件的WinForm,其中注入了许多尖括号和文本。该报告只是一组HTML表格。
我的“问题”是,由于是一个弹出式表单,因此其中包含BrowserPanel的报表是模态的。我想我明白为什么最好不要尝试使它成为非模态WinForm,但如果用户在应用程序的其他部分时报告窗口可以打开,那就太好了。
因此,当用户想要查看报告时,我可以将所有报告HTML发送到用户的浏览器而不是使用WinForm中的BrowserPanel,而不是使用此WebForm / BrowserPanel范例吗?或者这只是一个非常糟糕的主意?如果这是一个好主意,我该怎么做呢?
非常感谢你的时间。
答案 0 :(得分:1)
没有看到应用程序工作,我不确定它是好还是坏 - Winform应用程序中的WebBrowser控件确实有某些专业(和con)。它是如此简单,试一试,看看它是否是用户想要的东西 - 即使它最终作为程序设置:
//Save the HTML to a file
string fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\a.html";
System.IO.StreamWriter file = new System.IO.StreamWriter(fileName);
file.WriteLine(htmlContent);
file.Close();
//Open the HTML file in the default browser
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = fileName;
Process myProcess = Process.Start(start);
表单属性TopMost允许您拥有一个始终位于顶部的非模态窗口。