gpt4 book ai didi

C# 等效于 MessageBoxA(HWND_DESKTOP, msg, "Alarm", MB_OK | MB_ICONWARNING | MB_SYSTEMMODAL | MB_SETFOREGROUND);

转载 作者:行者123 更新时间:2023-11-30 02:02:32 24 4
gpt4 key购买 nike

我正在用 C# 编写一个报警程序,它在指定的时间显示一个带有用户指定消息的系统模式对话框。但是,我似乎找不到 C# 等价物

MessageBoxA(HWND_DESKTOP, msg, "Alarm",
MB_OK | MB_ICONWARNING | MB_SYSTEMMODAL | MB_SETFOREGROUND);

编辑:我正在尝试学习 C# 和 .NET 库。我认为编写等同于我用 C 或 C++ 编写的一些小程序的程序将是一个很好的起点。

最佳答案

像这样的东西应该适合你:

MessageBox.Show("text", "caption", MessageBoxButtons.OK, MessageBoxIcon.Warning);

在 MSDN 上了解更多信息:http://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox.show.aspx

编辑:正如另一种想法,这将创建屏幕大小的形式,并通过阻止屏幕上的其他所有内容来显示消息框,直到您关闭该消息框。

internal class TransparentWholeScreen: Form
{
public TransparentWholeScreen()
{
Size = Screen.PrimaryScreen.Bounds.Size;
TopMost = true;
FormBorderStyle = FormBorderStyle.None;
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
BackColor = Color.Transparent;
Shown += OnShown;
}

private void OnShown(object sender, EventArgs e)
{
var dialogResult = MessageBox.Show("text", "caption", MessageBoxButtons.OK, MessageBoxIcon.Warning);
if(dialogResult == DialogResult.OK)
{
Close();
}
}
}

只需在闹钟计时器结束时添加以下代码:

    var backGroundForm = new TransparentWholeScreen();
backGroundForm.ShowDialog(this);

老实说,我不喜欢这个解决方案,而且它不会对可以终止进程的人发出警报:)

关于C# 等效于 MessageBoxA(HWND_DESKTOP, msg, "Alarm", MB_OK | MB_ICONWARNING | MB_SYSTEMMODAL | MB_SETFOREGROUND);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13074421/

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