如何在MessageBox.show中创建超链接?

24

我尝试使用以下方式在MessageBox中创建超链接:

MessageBox.Show(
    "test message",
    "caption",
    MessageBoxButtons.YesNo,
    MessageBoxIcon.Information,
    MessageBoxDefaultButton.Button1,
    0,
    **"http://google.com"**,
    "Keyword"
);

注意:上面的代码实际上是在另一个问题中被“选为答案”的https://dev59.com/EXI-5IYBdhLWcg3weoTR#1833877,但我不知道为什么它对我不起作用。我在关键字(Error 3 *或->运算符必须应用于指针C:\Users\kiriti\Documents\Visual Studio 2010\Projects\TailorApplication_3\TailorApplication_3\Form1.cs 359 140 TailorApplication_3)处出现错误。


6
链接的问题标记为VB,而不是C#。被接受的回答没有显示超链接,它在MessageBox上显示一个帮助按钮,当点击时会导航到Google。你可以通过简单地删除星号来实现这一点。如果你想要一个真正的超链接,你必须创建自己的表单。 - JosephHirn
谢谢Ginosaji。这对我来说很好。 - user2046417
2个回答

43

我尝试着玩弄代码,并找到了自己问题的解决方案。

if (MessageBox.Show(
        "test", "Visit", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk
    ) == DialogResult.Yes)
{
    System.Diagnostics.Process.Start("http://www.google.com");
}

非常好!:)


1
我不得不调整你的代码以使其工作:System.Windows.MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("你想去google.com吗?", "我的窗口标题", System.Windows.MessageBoxButton.YesNo, System.Windows.MessageBoxImage.Asterisk); if (messageBoxResult.ToString() == "Yes") { System.Diagnostics.Process.Start("http://www.google.com"); } - else42.de
注意:在MessageBox结果=是的情况下,实际上会启动操作系统默认浏览器并打开链接,而不是在MessageBox中提供可点击的链接。 - TazAstroSpacial
1
问题是如何在消息框中显示超链接。当单击超链接时,应该打开链接。但是实际上,链接会在消息框关闭后通过按钮单击打开。 - The King

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接