gpt4 book ai didi

c# - 如何在 LinqPad 查询中显示 MessageBox 对话框?

转载 作者:行者123 更新时间:2023-12-03 03:29:05 25 4
gpt4 key购买 nike

运行/调试时,对 MessageBox 或 Microsoft.VisualBasic.Interaction.MsgBox 的调用挂起,而不显示任何对话框。我认为它被阻止了,但没有看到有关如何解决此问题的示例。

最佳答案

我为您提供分步说明,希望对您有所帮助:

准备工作

您需要在 LinqPad 编辑器中按 F4添加引用。查询属性对话框打开。

在那里,使用添加... 添加程序集Microsoft.VisualBasic.dll 并切换到选项卡其他命名空间导入。键入 Microsoft.VisualBasic 并单击确定 关闭对话框。

注意:虽然我们使用的是 VisualBasic 中的 DLL,但我们可以在 C# 中使用它,没有任何限制。由于它是在 .NET 中编译的,因此任何 .NET 语言都可以使用它。因此,此答案中的说明适用于 C#,但也可以以同样的方式在 VB.NET 中使用它(只需使用 Linqpad 中的语言下拉列表进行选择)。

<小时/>

一般用法

最后,您可以按如下方式使用它:

void Main()
{
Interaction.MsgBox("Hello");
}

注意:Microsoft.VisualBasic 可与 C# 以及 VB.NET 配合使用,但此示例使用的是 C# 程序 设置。

请注意,如果您使用多个显示器,则消息框可能会显示在不同的显示器上,并且不会显示在前台,因此您可能不会注意到它。

我建议您以这种方式强制在前台显示它:

Interaction.MsgBox("Hello", MsgBoxStyle.MsgBoxSetForeground);       

但您不能强制它在特定显示器上显示。

<小时/>

按钮和其他参数

如果您需要了解更多参数,如标题、显示按钮等,可以查看here at MSDN

例如,要显示中止、重试、忽略对话框,并将重试作为默认按钮(DefaultButton2),您可以使用:

MsgBoxResult result =
Interaction.MsgBox(Title: "Critical Error", Prompt: "Cannot read file",
Buttons: MsgBoxStyle.MsgBoxSetForeground | MsgBoxStyle.AbortRetryIgnore
| MsgBoxStyle.Critical | MsgBoxStyle.DefaultButton2);

同样,要将其他按钮设置为默认按钮:中止将为DefaultButton1,而忽略将为DefaultButton3。您只能指定其中之一,如果不指定,则假定为 DefaultButton1

<小时/>

检查结果

用户点击后,可以查询变量result来找出点击的是哪个按钮(MsgBoxResult枚举),即

if (result==MsgBoxResult.Retry)
{
Console.WriteLine("Retrying...");
}

提示:LinqPad中,您还可以添加命名空间别名。如果您不喜欢每次都输入 Interaction.MsgBox,您可以按 F4,转到选项卡 Additional Namespace Imports,在其中输入 Dlg=Microsoft.VisualBasic.Interaction 并单击确定 关闭对话框。然后您可以使用 Dlg.MsgBox(...) 而不是 Interaction.MsgBox(...)

<小时/>

更多与 LinqPad 相关的内容可以在 StackOverflow 中找到 herethere

关于c# - 如何在 LinqPad 查询中显示 MessageBox 对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31975653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com