- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有什么方法可以在 .NET 核心中显示像 MessageBox.Show 这样的弹出消息?
最佳答案
廉价替代品的问题之一是,在 Linux(或 Mac)上没有等效的功能。
因此,您可以使用许多 pinvokes 和结构编写自己的代码,也可以仅使用“notify-send”命令,这会在 Linux 上打开“通知气泡”。
WindowManager.MsgBoxResult result = WindowManager.Interaction
.MsgBox("Message", "Title", MsgBoxStyle.OkCancel);
namespace WindowManager
{
public enum MsgBoxResult
: int
{
Abort = 3,
Cancel = 2,
Ignore = 5,
No = 7,
Ok = 1,
Retry = 4,
Yes = 6
}
//[System.Flags]
//public enum MsgBoxStyle
// : int
//{
// AbortRetryIgnore = 2,
// ApplicationModal = 0,
// Critical = 0x10,
// DefaultButton1 = 0,
// DefaultButton2 = 0x100,
// DefaultButton3 = 0x200,
// Exclamation = 0x30,
// Information = 0x40,
// MsgBoxHelp = 0x4000,
// MsgBoxRight = 0x80000,
// MsgBoxRtlReading = 0x100000,
// MsgBoxSetForeground = 0x10000,
// OkCancel = 1,
// OkOnly = 0,
// Question = 0x20,
// RetryCancel = 5,
// SystemModal = 0x1000,
// YesNo = 4,
// YesNoCancel = 3
//}
[System.Flags]
public enum MsgBoxStyle
{
/// <summary>
/// OK button only (default). This member is equivalent to the Visual Basic constant <see langword="vbOKOnly" />.</summary>
OkOnly = 0,
/// <summary>
/// OK and Cancel buttons. This member is equivalent to the Visual Basic constant <see langword="vbOKCancel" />.</summary>
OkCancel = 1,
/// <summary>
/// Abort, Retry, and Ignore buttons. This member is equivalent to the Visual Basic constant <see langword="vbAbortRetryIgnore" />.</summary>
AbortRetryIgnore = 2,
/// <summary>
/// Yes, No, and Cancel buttons. This member is equivalent to the Visual Basic constant <see langword="vbYesNoCancel" />.</summary>
YesNoCancel = AbortRetryIgnore | OkCancel, // 0x00000003
/// <summary>
/// Yes and No buttons. This member is equivalent to the Visual Basic constant <see langword="vbYesNo" />.</summary>
YesNo = 4,
/// <summary>
/// Retry and Cancel buttons. This member is equivalent to the Visual Basic constant <see langword="vbRetryCancel" />.</summary>
RetryCancel = YesNo | OkCancel, // 0x00000005
/// <summary>Critical message. This member is equivalent to the Visual Basic constant <see langword="vbCritical" />.</summary>
Critical = 16, // 0x00000010
/// <summary>Warning query. This member is equivalent to the Visual Basic constant <see langword="vbQuestion" />.</summary>
Question = 32, // 0x00000020
/// <summary>Warning message. This member is equivalent to the Visual Basic constant <see langword="vbExclamation" />.</summary>
Exclamation = Question | Critical, // 0x00000030
/// <summary>Information message. This member is equivalent to the Visual Basic constant <see langword="vbInformation" />.</summary>
Information = 64, // 0x00000040
/// <summary>First button is default. This member is equivalent to the Visual Basic constant <see langword="vbDefaultButton1" />.</summary>
DefaultButton1 = 0,
/// <summary>Second button is default. This member is equivalent to the Visual Basic constant <see langword="vbDefaultButton2" />.</summary>
DefaultButton2 = 256, // 0x00000100
/// <summary>Third button is default. This member is equivalent to the Visual Basic constant <see langword="vbDefaultButton3" />.</summary>
DefaultButton3 = 512, // 0x00000200
/// <summary>Application modal message box. This member is equivalent to the Visual Basic constant <see langword="vbApplicationModal" />.</summary>
ApplicationModal = 0,
/// <summary>System modal message box. This member is equivalent to the Visual Basic constant <see langword="vbSystemModal" />.</summary>
SystemModal = 4096, // 0x00001000
/// <summary>Help text. This member is equivalent to the Visual Basic constant <see langword="vbMsgBoxHelp" />.</summary>
MsgBoxHelp = 16384, // 0x00004000
/// <summary>Right-aligned text. This member is equivalent to the Visual Basic constant <see langword="vbMsgBoxRight" />.</summary>
MsgBoxRight = 524288, // 0x00080000
/// <summary>Right-to-left reading text (Hebrew and Arabic systems). This member is equivalent to the Visual Basic constant <see langword="vbMsgBoxRtlReading" />.</summary>
MsgBoxRtlReading = 1048576, // 0x00100000
/// <summary>Foreground message box window. This member is equivalent to the Visual Basic constant <see langword="vbMsgBoxSetForeground" />.</summary>
MsgBoxSetForeground = 65536, // 0x00010000
}
// https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-messagebox
internal class UnsafeNativeMethods
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
internal static extern MsgBoxResult MessageBox(System.IntPtr hWnd, string text, string caption, MsgBoxStyle options);
}
public class Interaction
{
private static string GetTitleFromAssembly(System.Reflection.Assembly CallingAssembly)
{
try
{
return CallingAssembly.GetName().Name;
}
catch (System.Security.SecurityException)
{
string fullName = CallingAssembly.FullName;
int index = fullName.IndexOf(',');
if (index >= 0)
{
return fullName.Substring(0, index);
}
return "";
}
}
public static MsgBoxResult MsgBox(string text, string caption, MsgBoxStyle options)
{
if (string.IsNullOrEmpty(caption))
caption = GetTitleFromAssembly(System.Reflection.Assembly.GetCallingAssembly());
if (System.Environment.OSVersion.Platform != System.PlatformID.Unix)
return UnsafeNativeMethods.MessageBox(System.IntPtr.Zero, text, caption, options);
text = text.Replace("\"", @"\""");
caption = caption.Replace("\"", @"\""");
using (System.Diagnostics.Process p = System.Diagnostics.Process.Start("notify-send", "\"" + caption + "\" \"" + text + "\""))
{
p.WaitForExit();
}
return MsgBoxResult.Ok;
}
public static MsgBoxResult MsgBox(string text, string caption)
{
return MsgBox(text, caption, MsgBoxStyle.OkOnly);
}
public static MsgBoxResult MsgBox(string text)
{
return MsgBox(text, null);
}
public static MsgBoxResult MsgBox(object objText, object objCaption)
{
string text = System.Convert.ToString(objText, System.Globalization.CultureInfo.InvariantCulture);
string caption = System.Convert.ToString(objCaption, System.Globalization.CultureInfo.InvariantCulture);
return MsgBox(text, caption);
}
public static MsgBoxResult MsgBox(object objText)
{
return MsgBox(objText, null);
}
} // End Class Interaction
} // End Namespace WindowManager
关于asp.net-core - .NET core 中 messageBox 的类似方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44174614/
我试图对 ASP.Net MVC 有一个高层次的理解,我开始意识到它看起来很像原始的 ASP 脚本。过去,我们将“模型”/业务逻辑代码组织到 VBScript 类或 VB COM 组件中。 当然,现在
我已经搜索了一段时间,但似乎找不到答案。 我想在我的旋转木马中显示一个计数器,左边是当前项目(工作),左边是项目总数。 我的代码:
. 最佳答案 Scott Gu 称这些为代码块。这就是我的看法。 http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax
我有一个使用 Visual Studio 2010/.net 4/VB 制作的网站。 我真的很喜欢我发现的 FAQ 系统的布局,因为它很简单,但它是经典的 asp。所以,显然,我不能包括我的母版页布局
好吧,对于你们许多人来说,这个问题可能有一个非常明显的答案,但它让我难住了。 我有一个 asp.net Web 表单,上面有两个控件(嗯,不止这两个,但我们将重点关注这些) - 第一个是 asp:dr
当我将 ASP.NET 复选框控件设置为 asp.net 更新面板的异步回发触发器时,EventName 属性是什么? 最佳答案 我相信它是 CheckedChanged。 关于asp.net - a
我有一个用经典 asp 编写的(巨大的)网站。现在我必须切换到 vb.net (razor)。有没有办法将这两个结合起来直到切换完成? 有没有办法让应用程序与经典的 asp 和 vb.net 一起工作
I am creating a products page, where the user selects an option in a radiobuttonlist for example, an
我最近将一个经典的 ASP 应用程序转换为 ASP.NET 3.5,但我觉得我的经典 ASP 版本要快一些(我不知道可能买家会后悔)。 所以你们能帮我解决这个问题吗,让我知道哪个更快,asp、asp.
从本周开始,我被要求开始学习如何使用 ASP 开发网站。我通过 XNA 对 C# 有一定的经验,所以这部分对我来说并不是什么麻烦。 我一直在关注Music Store Tutorial这需要我设置一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我想将一些表单变量发布到经典 ASP 页面中。我不想改变经典的 ASP 页面,因为需要完成大量的工作,以及消耗它们的页面数量。 经典的 ASP 页面需要将表单变量 Username 和 Userpas
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
在某种程度上,这可能是一个异端问题。我们有一个大型站点,其中许多页面仍在ASP中。通常,并没有真正动态的,而是包括(通过SSI或Server.Execute)定期重新生成的HTML块。看起来好像是一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我有一个遗留的 ASP 应用程序——在不久的某个时候——需要迁移到 ASP.Net 2.0(以与也在 2.0 中的其他应用程序兼容)。 对于这类事情是否有最佳实践,即作为第一步将当前 html、vbs
我目前在一家公司工作,该公司使用 ASP.NET Webforms 和旧 ASP 页面的组合进行 Web 开发。这对于他们当前的项目来说效果很好,但我想说服/建议他们切换到 ASP.NET MVC,因
我有一个经典的 asp 应用程序。我想将该页面的竞赛表格发布到 Asp.Net 表格。原因是我想在进入数据库之前使用我在 Asp.Net 页面中内置的大量逻辑进行验证,而我对 asp 不太了解。更不用
我知道在 ASP.NET MVC 中,您可以拥有移动 View 并执行类似 Index.mobile.cshtml 的操作。和 _Layout.mobile.cshtml并且服务器知道将这些 View
我需要从一些服务器端 c#.net 代码中调用经典 asp 页面上的 VBscript 函数 - 有谁知道一种干净的方法来做到这一点?在 .net 中重写函数不是一种选择。 我会再解释一下这个问题..
我是一名优秀的程序员,十分优秀!