在模态对话框上显示MessageBox后,ALT + TAB无法正常工作...
我在一个解决方案文件下有三个项目(P1,P2和P3).P1包含P1Form.cs,P2包含P2Form.cs.
这些文件的详细信息如下:
P1Form.cs包含一个按钮,显示MessageBox.Show()方法的消息框.P2Form.cs包含一个按钮,显示MessageBox.Show()方法的消息框.
项目P3包含3个表单Form_A,Form_B和Form_C.Form_A是MDI容器,有一个按钮可以打开Form_B作为其子窗体.Form_B还有一个按钮,可以从ShowDialog()方法打开Form_C作为模式对话框.
Form_C继承自P2Form.cs,P2Form.cs继承自P1Form.cs. Form_A.cs是Main表单,它将是第一个应用程序表单.
重现所需问题的步骤:
问题: 现在通过Alt + Tab切换窗口.您将无法在切换窗口中看到当前的窗口图标.
我试过的其他选择......
Form.show()而不是Form.ShowDialog,那么它工作正常.任何人都可以建议我如何解决这个问题而不做上面提到的两个我已经尝试过的替代方案?
Windows 7(?)引入了一个新的消息框功能(我不确定它的名称是什么,所以我上传了一张图片).如何使用WinForms在C#中创建这样的盒子?

我正在尝试在构建过程中通过无头Eclipse执行JUnit测试.使用以下命令从Ant脚本调用单元测试:
eclipsec.exe -noSplash -application org.eclipse.ant.core.antRunner -data "C:\SomeDirectory" -buildfile "C:\Path\To\tests.xml"
这种方法很好,除非Ant脚本由于任何原因需要失败(通过显式任务,因为单元测试失败,或者因为单元测试向上游引发了异常).在任何一种情况下,eclipsec都会引发一个对话框,报告"发生了错误".这伴随着一个例外.堆栈跟踪的顶部(如果相关)是:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513)
at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)
Run Code Online (Sandbox Code Playgroud)
我真的不关心Ant脚本或Eclipse失败的原因 - 这就是日志记录的用途 - 但是随之弹出的对话框是不可接受的,因为它在等待隐形时挂起我们的持续集成系统用户来点击它.
有没有办法可以抑制这个对话框? 有什么方法可以解决这个不需要真正的用户响应它的对话框吗?
附加信息:
Eclipse版本:Indigo(截至昨日).Ant和JUnit内部.
Java版本:JDK 6.0_30 32位
操作系统:Windows(7和Server 2003)
这是我用的代码......
MessageBox.Show("Do you want to save changes..?", "Save", MessageBoxButtons.YesNoCancel);
Run Code Online (Sandbox Code Playgroud)
我想改变消息框按钮上的文字是否有可能.. ??
嘿,我会简单的.我想制作一个这个字符串"abc"的MessageBox,它将从右到左阅读.
我试过这个 Messagebox.Show("abc",MessageBoxOptions.RtlReading);
这有什么用的?
这是我得到的错误:
1:"无法从'System.Windows.Forms.MessageBoxOptions'转换为'string'
2:"无法从'string'转换为'System.Windows.Forms.MessageBoxButtons'"
3:"'System.Windows.Forms.MessageBox.Show(string,string)'的最佳重载方法匹配'有一些无效的参数"
有没有办法在指定的时间内显示一个消息框(这意味着,当指定的时间过去时,消息框将自动关闭)?
当程序第一次启动(并且只是第一次),某种指令或指定设置时,是否有一种简单的方法来显示对话框?
我正在使用C#开发适用于Windows Phone 8的应用程序
我一直在努力工作MessageBox.Show(),并且它一直用于显示我想要的PopUp消息,但突然间,它不会显示任何内容,我调试应用程序,代码正常运行并编译线MessageBox.Show("Something");
但它没弹出来!
我也试着把它放在另一页,也不行!我记得昨天我搞砸了项目的参考资料 但这是问题吗?
无论如何这里是我的项目参考的照片

我在C#/ WPF程序中使用MessageBox遇到了奇怪的行为.
创建一个基本的WPF应用程序,在其上放置一些标签和一个按钮.
这是按钮点击的代码
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult result;
do
{
result = MessageBox.Show(this, "Please Click here under", "TestBugMessageBox", MessageBoxButton.OKCancel, MessageBoxImage.Information, MessageBoxResult.None);
if (result.Equals(MessageBoxResult.OK))
{
result = MessageBox.Show(this, "Is it the first time you see it ?", "TestBugMessageBox", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None);
}
} while (result.Equals(MessageBoxResult.Yes));
}
Run Code Online (Sandbox Code Playgroud)
然后将窗口放在屏幕的中心(为了让MessageBox覆盖一些标签)
点击是三次,没有最后一次,你会看到问题(我希望):
消息框保持显示在应用程序上.
你能让我知道它有什么问题吗?
好吧,我想在下一个旁边显示两个文本框customMessageBox.所以我编写了两个文本框.如下.我命名soora,并ayath为它.但在customMessageBox,我不能同时调用两个文本框.它显示错误.如何在下一个旁边显示两个文本框customMessageBox.我只是错误,它是形式Content = soora + ayath
我的C#代码;
TextBox soora = new TextBox();
soora.Height = 72;
soora.Width = 150;
soora.MaxLength = 3;
TextBox ayath = new TextBox();
ayath.Height = 72;
ayath.Width = 150;
ayath.MaxLength = 3;
CustomMessageBox messageBox = new CustomMessageBox()
{
Title = "GO TO",
Content = soora + ayath,
RightButtonContent = "Go !",
};
Run Code Online (Sandbox Code Playgroud) messagebox ×10
c# ×8
winforms ×3
.net ×2
ant ×1
dialog ×1
eclipse ×1
inno-setup ×1
java ×1
junit ×1
modal-dialog ×1
refresh ×1
windows ×1
wpf ×1