我System.Windows.MessageBox.Show()用来向用户显示一个对话框.一次重载让我可以设置使用System.Windows.MessageBoxButton枚举出现的按钮.但是,它似乎缺乏RetryCancel我的谷歌搜索表明它应该具有的选项.
我想知道是否可以将图像添加到VBA中的消息框主要是,但如果不是任何其他语言.
MsgReply = MsgBox("InspectionCreator - Continue?", vbMsgBoxSetForeground + vbSystemModal + vbYesNo)
If vbYes = MsgReply Then
Listener.Connect2SW
Else: End
End If
Run Code Online (Sandbox Code Playgroud) 当您在应用程序中使用以下代码关闭或重新启动计算机时,窗口会显示一个消息框,其中显示"Windows将在不到一分钟内重新启动"的警告图标,并且它有一个关闭按钮.有什么方法可以防止这种情况出现?
Process.Start("shutdown", "-r");
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个消息框模态,但我遇到了线程问题.
我有一个这样的课:
public static class DisplayMessage()
{
public static void ErrorMessage(string errorMessage)
{
MessageBox.Show(errorMessage, "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
//other similar methods
}
Run Code Online (Sandbox Code Playgroud)
所以我希望消息框是主窗体的模态.MessageBox.Show已重载,因此您可以指定IWin32Window.所以我尝试使用.ActiveForm,但我明白了:
跨线程操作无效:从创建它的线程以外的线程访问控件.
我的程序在cmd.exe中运行批处理文件,完成后我想向用户显示一个MessageBox Finished in #.## seconds,
我正在使用CMD输出重定向到文本框process.BeginOutputReadLine(),这是我尝试的代码:
if (e.Data == null)
{
string time = process.TotalProcessorTime.Seconds.ToString();
MessageBox.Show("Finished in " + time + " seconds");
}
Run Code Online (Sandbox Code Playgroud)
完成此过程大约需要7-15秒,但MessageBox显示Finished in 0 seconds.
如何在几秒钟内完成准确的完成时间?
我正在使用Visual Studio C#,我有一个带有一些记录的"string-string"Dictionary变量,例如:
{Apartment1},{Free}
{Apartment2},{Taken}
Run Code Online (Sandbox Code Playgroud)
等等...
如何在消息框中写这个,以便显示如下内容:
Apartment1 - Free
Apartment2 - Taken
Run Code Online (Sandbox Code Playgroud)
等等...
重要的是每条记录都在消息框中的新行内.
我今天想知道是否有任何方法可以显示带有单独表单的消息框,因为它是父节点.举个例子,假设我有Form1和Form2.从Form1,如何调用消息框以Form2作为父项显示?在我的情况下,Form2是动态创建的,如果这会产生影响.
我最近开始学习C#.
我有一种string变量a.
我正试图Messagebox在它之后显示我的变量和一些文本.
MessageBox.Show(a "was your answer");这不起作用.
MessageBox.Show(a, "was your answer");虽然这会将文本抛到标题上.
如何在变量之后,在同一行上显示一些文本?
试图找到类似的东西,阅读所有给出的答案,但无法找到一些可以解释给我的东西.
以下是打开对话框弹出窗口(WPF)的示例代码.我希望在ShowOverlayView变为True之后,UI将是可访问的(这就是为什么async-await)和程序要等到用户单击"关闭"时才结束.
小澄清:ShowOverlayViewModel为ContentControl的Visibility属性设置布尔值为true/false.既然如此,那么我没有什么可以等待"常规方式"了.
目前,当视图"可见"时,会立即显示MessageBox.好像它不等待AutoResetEvent.
小更新:它似乎与MessageBox特定相关.我尝试在等待代码行之后更改Message属性,它仅在are.Set()之后发生.我仍然想知道MessageBox为什么会这样做.
private void CommandAction()
{
ShowOptionsDialog();
MessageBox.Show("");
}
private async void ShowOptionsDialog()
{
var are = new AutoResetEvent(false);
var viewmodel = new DialogPopupViewModel();
viewmodel.Intialize("some title", "some message", DialogPopupViewModel.YesNoCancelButtons);
SetOverlayViewModel(viewmodel);
viewmodel.SetCloseViewAction(() =>
{
HideOverlayView();
are.Set();
});
ShowOverlayView = true;
await Task.Factory.StartNew(() =>
{
are.WaitOne();
//return viewmodel.DialogResult;
});
//return DialogResultEnum.Cancel;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
我有一个在进程中注入的dll,这个dll包含一个表单,我想使用它MessageBox()(或其他类型的对话框)来提醒用户一些操作.
例如:
Application.MessageBox('successful operation!','Information',mb_Ok+mb_IconInformation);
Run Code Online (Sandbox Code Playgroud)
发现每次显示,也会在Windows任务栏中显示目标应用程序的图标,我不想这样.
然后我想在任务栏中显示这些消息而不显示应用程序图标.怎么做到这个?
messagebox ×10
c# ×7
winforms ×3
async-await ×1
delphi ×1
dictionary ×1
excel ×1
modal-dialog ×1
timer ×1
userform ×1
variables ×1
vba ×1
windows ×1
wpf ×1