1

我主要是一个 asp.NET MVC 开发人员,但我继承了一个 WinForms 应用程序来维护和增强。它的一个功能是一个报告窗口,它只是一个带有 BrowserPanel 控件的 WinForm,其中注入了许多尖括号和文本。该报告只是一组 HTML 表格。

我的“问题”是其中带有 BrowserPanel 的报告表单,由于是弹出表单,是模态的。我想我理解为什么最好不要尝试使其成为非模态 WinForm,但如果报告窗口可以在用户位于应用程序的其他部分时打开,那就太好了。

因此,当用户想要查看报告而不是使用此 WebForm/BrowserPanel 范例时,我是否可以将所有报告 HTML 发送到用户的浏览器,而不是在 WinForm 中使用 BrowserPanel?或者这只是一个非常糟糕的主意?如果这是一个好主意,我怎么能做这样的事情?

非常感谢您的时间。

4

1 回答 1

1

在没有看到应用程序工作的情况下,我不确定这是一个好主意还是坏主意 - Winform 应用程序中的 WebBrowser 控件确实具有某些优点(和缺点)。做起来很简单,试一试,看看它是否是用户想要的——即使它最终成为一个程序设置:

//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 将允许您拥有一个始终位于顶部的非模式窗口。

于 2012-05-10T01:31:30.143 回答