添加新的 MDI 子窗口时如何避免屏幕弹跳

2023-12-03

在我的 MDI 框架中,我正在创建 MDI 子窗口,如下所示:

Form frm = new frmMyChild();
frm.MdiParent = this;
frm.WindowState = FormWindowState.Maximized;
frm.Show();
frm.Focus();

到目前为止,效果很好,但屏幕很快就会“弹跳”,因为子窗口被置于“正常”状态,然后它们再次最大化。如何防止这种情况发生?


即使将 MenuStrip 添加到 MDI 父窗体中,窗体.MainMenuStrip还是null.
当这个属性是null,MDI 子级的系统菜单控件不是blended使用 MenuStrip(或旧的MainMenu),因此子窗体标题栏仍然可见并位于 MenuStrip 上方。
当创建新的子窗体并将其最大化时,MenuStripbounces重新创建子表单标题时向上和向下。

设置MainMenuStrip属性到 MDI 父级的 MenuStrip 实例,将导致 MDI 子级的系统菜单控件blend使用 MenuStrip(或MainMenu).

很有趣的是在.Net 源代码随着时间的推移,这种行为和设计已经改变了多少次(这只是那里的评论:)。

TheMDIMenuStrip是 MDI 父级的 MenuStrip 在设计时创建并在InitializeComponent().

public partial class MDIParent : Form
{
    public MDIParent()
    {
        InitializeComponent();
        MainMenuStrip = TheMDIMenuStrip;
        TheMDIMenuStrip.SendToBack();
    }
    ...
}

Before:

MDI MenuStrip Maximize before

After:

MDI MenuStrip Maximize after

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加新的 MDI 子窗口时如何避免屏幕弹跳 的相关文章

随机推荐

  • TensorFlow Custom Estimator 预测投掷值误差

    注意 这个问题有一个附带的 记录的Colab笔记本 有时 TensorFlow 的文档还有很多不足之处 一些针对较低级别 api 的旧文档似乎已被删除 而大多数较新的文档都指向使用较高级别的 api 例如 TensorFlow 的子集ker
  • 为什么插入到复制数据帧的新列也会添加到原始数据帧? [复制]

    这个问题在这里已经有答案了 您能否告诉我为什么要开设新专栏c添加到原始数据框 即df old df old pd DataFrame a 1 2 b 3 4 df new df old df new c 5 6 print Old prin
  • 如何按类别、值和选中对复选框进行排序

    我有一个div subfilterNamesContainer 其中包含复选框列表 我正在尝试编写一个函数 将复选框分为 3 个部分 复选框与class default 应该位于按值排序的顶部 无论是否选中 然后我需要列出不是的复选框cla
  • 如何从 appsettings.json 获取值

    public class Bar public static readonly string Foo ConfigurationManager AppSettings Foo 在 NET Framework 4 x 中 我可以使用Confi
  • 如何使用 C++11 枚举类作为标志

    假设我有一堂课 enum class Flags char FLAG 1 1 FLAG 2 2 FLAG 3 4 FLAG 4 8 现在我可以有一个具有类型标志的变量并分配一个值吗7例如 我可以这样做吗 Flags f Flags FLAG
  • AJAX 呼叫在 Phonegap 中无法工作,但工作正常

    我正在使用开放天气地图 api web 服务进行 ajax 调用 以便使用纬度和经度获取当前天气 问题是相同的调用在我的正常 php 文件夹中工作 但在我的 phongap 应用程序中不起作用 我的ajax调用如下图 ajax type G
  • Hibernate 限制中“等于 id”限制的大小写敏感

    我尝试做一个区分大小写的等于username与 Hibernate 3 6 9 一起使用 但似乎限制不区分大小写 例如 AdMin 或 admin 都有效 但只有 admin 应该正确 否则 size 应该返回 0 我会尽量避免使用like
  • 使类可编码

    我有一个协议 即 Codable 和一个类 即 Codable public protocol SourceListItem AnyObject Codable var name String get set var children So
  • 如何将事件侦听器添加到 HTML5 视频海报图像加载事件

    是否可以 我想将一个事件侦听器附加到 HTML5 视频元素上的海报图像 以便在加载并显示海报图像后运行代码 我正在尝试找出一种方法来做到这一点 但我需要帮助 像这样 var poster video prop poster if poste
  • 将现有 EC2 实例导出到 CloudFormation json/yaml

    Problem 我有一个EC2实例正在运行 我对实例做了一些修改 安装了 docker 设置证书目录等 现在 我想创建相同的实例 但使用基础设施作为代码主体 我没有记住我所做的所有添加并手动创建模板 而是尝试找到一种方法将当前的 EC2 实
  • 检查数据库是否存在并在 SQLite IOS 中删除数据库

    我目前正在使用phonegap 来创建ios 应用程序 在熟悉 sql javascript 交互的同时 我似乎已经创建了同名数据库文件的 10 个版本 我目前正在使用以下创建代码 来自phonegap wiki var mydb fals
  • Promise 回调按什么顺序触发?

    假设以下语句已按此顺序执行 promiseA then function console log A1 promiseB then function console log B promiseA then function console
  • 获取BehaviorSubject的值

    我正在尝试获取BehaviorSubject 的值 返回值 但我如何利用它们在 return true false 语句中使用它们 BehaviorSubject isScalar false observers Array 0 close
  • 在 php 中运行多个查询

    我对 PHP 和 HTML 真的很陌生 按提交按钮后 我尝试使用 Users MySQL 表中已有的数据填充字段 这有效 我还想将通过 SELECT 获得的相同数据插入到另一个名为 scan 的 SQL 表中
  • 为什么 HTML 中 标签没有关闭?

    出于好奇 为什么 img gt 标签未关闭于HTML img src smiley gif alt Smiley face height 42 width 42 我还注意到 img gt 标签明确地封闭在XHTML img src smil
  • 如何正确解析算术表达式中的数字,区分正数和负数?

    我在数据结构类中有一个作业 其中我必须编写一个计算器 用 4 个基本运算和括号来求解算术表达式 输入是通过 stdin 缓冲区完成的 输出也是如此 一开始很简单 老师给我们提供了算法 如何将表达式从中缀转换为后缀以及如何对其求值 唯一的目标
  • 如何在 J.T.Sage DateBox 中禁用已选择的下一个日期框的日期

    我的应用程序使用 jt sage DateBox 我想禁用已选择的下一个日期框字段的日期选择器例如 我的 Date1 就像 2014 年 8 月 13 日 我的其他日期框字段需要在 2014 年 8 月 13 日之后选择 注意 取决于之前的
  • 使用 BeautifulSoup 查找包含特定文本的 HTML 标签

    我正在尝试获取 HTML 文档中包含以下文本模式的元素 S 11 h2 this is cool 12345678901 h2 因此 前面的内容将通过使用以下方式进行匹配 soup h2 text re compile r S 11 结果会
  • Dictionary.cs 中的 FindEntry 函数

    我一直在研究 NET 字典的实现 因为我想了解是什么使字典 ContainsKey 和查找速度更快 http referencesource microsoft com mscorlib system collections generic
  • 添加新的 MDI 子窗口时如何避免屏幕弹跳

    在我的 MDI 框架中 我正在创建 MDI 子窗口 如下所示 Form frm new frmMyChild frm MdiParent this frm WindowState FormWindowState Maximized frm