我想要显示看起来不错的消息框,可能使用粗体/斜体文本和不同颜色的文本。标准MessageBox.Show不提供此功能。
我一直在尝试使用WebBrowser控件创建一个消息框,以使用HTML语法显示格式正确的文本。但我没有成功。
您知道这是否可行,或者您是否知道以其他方式显示带有格式化文本的消息框?我希望消息框能够动态调整其内容的大小。
(适用于Windows窗体)
答案 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获得。 (较旧的网址不久前消失了 - 抱歉!)