【问题标题】:.NET MDI child form suppress/hide caption/icon area.NET MDI 子窗体抑制/隐藏标题/图标区域
【发布时间】:2010-06-29 01:49:53
【问题描述】:

我有一个子表单(子表单),我想在许多父母中使用它。我不是专业的开发人员(我是建筑师 - 我知道,你可以省去所有的笑话...... :) - 目前独自工作)。我最终使用带有子表单的 MDI 表单作为孩子。我最大化了子表单,大多数事情都很好,除了虽然我尝试禁用所有各种小部件(设计器中的子表单显示没有标题/图标/按钮区域),我在左侧有两个图标和两组右侧的按钮 - 只有恢复按钮有效。任何一组按钮都适用于一个子窗体。

有没有办法解决这个问题?我希望子表单对用户“透明”——他们不应该知道正在使用子表单。

我已经进行了快速搜索,并且我已经抑制了另一个答案中提到的实际标题 - 让设计器中的标题栏被抑制...

MDI 是正确的技术,还是有更好的方法让同一个子表单出现在多个父表单中?

VS2008、C#、Windows 7

TIA, 保罗

【问题讨论】:

    标签: c# windows-7 mdi visual-studio-2008-sp1


    【解决方案1】:

    如果您在父的构造函数中创建 MDI 子窗体,则存在一个 WF 错误,它会使字形加倍。这是一个例子:

    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            this.IsMdiContainer = true;
            var child = new Form();
            child.MdiParent = this;
            child.WindowState = FormWindowState.Maximized;
            child.Show();
        }
    }
    

    将子窗体创建代码移动到 Load 事件以避免这种情况。

    【讨论】:

    • 谢谢汉斯!这样就摆脱了“加倍”。现在,有什么办法可以完全压制“酒吧”吗?
    • 不,一切都是私密的,你不能乱用它。如果你总是最大化运行子窗体,那么使用 MDI 是没有意义的。
    • 我确实打算使用最大化的子表单。那么我如何在没有 MDI 的情况下将孩子与父母耦合 - 只需一个指针就可以了。我只是不确定要使用的机制是什么。请记住,我只是一名架构师(也是一名数据专家!:))
    • 感谢 Hans 的指导,UserControl 正在工作,我现在遇到了一些 UserControl 问题,但我的问题现在已经得到解答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多