gpt4 book ai didi

c# - 在模态对话框上显示 MessageBox 后,ALT + TAB 不起作用

转载 作者:可可西里 更新时间:2023-11-01 13:27:28 25 4
gpt4 key购买 nike

在模态对话框上显示 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.csForm_A.cs 是主窗体,它将是申请的第一个窗体。

重现所需问题的步骤:

  1. 打开作为 MDI 的 Form_A容器
  2. 点击按钮将打开表格_B
  3. 再次单击 Form_B 上的按钮这将打开 Form_C 其中将有两个按钮(两个按钮都来自基类 P1Form.cs 和 P2Form.cs)
  4. 单击 Form_C 的任意按钮将打开消息框。

问题:现在通过 Alt + Tab 切换窗口。切换窗口时将看不到当前窗口图标。

我尝试过的其他选项...

  1. 如果我使用 Form.show() 而不是 Form.ShowDialog,那么它工作正常。
  2. 如果我在当前类中编写所有 messageBox 代码而不是在基类中编写,那么它工作正常。

谁能建议我如何在不执行上述两种我已经尝试过的替代方法的情况下解决这个问题?

最佳答案

尝试建立从 Form_B(父)到 Form_C(子)的父子关系:

Form_C f = new Form_C();
f.ShowDialog(this);

关于c# - 在模态对话框上显示 MessageBox 后,ALT + TAB 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405407/

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