是否可以创建一个显示html内容的消息框?

时间:2008-11-21 17:59:46

标签: .net winforms

我想要显示看起来不错的消息框,可能使用粗体/斜体文本和不同颜色的文本。标准MessageBox.Show不提供此功能。

我一直在尝试使用WebBrowser控件创建一个消息框,以使用HTML语法显示格式正确的文本。但我没有成功。

您知道这是否可行,或者您是否知道以其他方式显示带有格式化文本的消息框?我希望消息框能够动态调整其内容的大小。

(适用于Windows窗体)

3 个答案:

答案 0 :(得分:1)

您可以创建自己的Form类,该类承载WebBrowser控件(或RTF控件)以显示格式化的内容。只需给它一个类似于MessageBox的接口(API),这样你就可以以相同的方式使用它(例如,检查用户的Yes / No或Ok / Cancel / etc响应)。

对于大小调整,您可能需要检查显示的内容并使用一些System.Drawing功能来获取其字体/内容的大小。然后相应地调整窗口大小和/或显示和隐藏滚动条,这样它们才会在绝对必要时显示。

答案 1 :(得分:0)

我刚刚创建并发布了一个产品HTML MessageBox,它解决了Mikael的问题。它是标准Windows API MessageBox调用的直接替代品,允许您使用粗体,下划线和斜体以及字体。它的行为类似于标准的MessageBoxes,自动调整消息大小,自动换行等。另外,它是一个小型手动编码控件,不使用重量级IE窗口来显示HTML。

产品中包含用于使用标准Windows API调用约定或通过COM或.NET类调用它的接口。 (还有PowerBuilder,因为我最初创建它是为了在我自己的PowerBuilder应用程序中工作!)

它位于www.HTML-MessageBox.com。

答案 2 :(得分:0)

我在之前的回复中提到的HTML MessageBox现在是免费软件,可从www.software4nonprofits.com/HtmlMessageBox获得。 (较旧的网址不久前消失了 - 抱歉!)