【问题标题】:Emulating navigating between pages in Winforms在 Winforms 中模拟页面之间的导航
【发布时间】:2012-01-09 10:25:49
【问题描述】:

WPF 平台中嵌入了 Page 类和导航功能。我正在开发一个 Window 窗体应用程序并且需要类似的功能。模拟不同表单之间导航的简单流畅的方法是什么?或者里面应该有一个表格和一些容器?如何实现导航功能?

【问题讨论】:

    标签: c# .net wpf winforms navigation


    【解决方案1】:

    创建一个面板并将Dock 发送到Fill

    然后BringToFront面板。

    为您需要的每个“表单”执行此操作。

    编辑:这按预期工作:

    public Form1()
    {
        InitializeComponent();
        Shown += Form1_Shown;
        panel1.Dock = DockStyle.Fill;
        panel2.Dock = DockStyle.Fill;
    }
    
    void Form1_Shown(object sender, EventArgs e)
    {
        panel1.BringToFront();
        Update();
        Thread.Sleep(3000);
        panel2.BringToFront();
        Update();
        Thread.Sleep(3000);
        panel1.BringToFront();
    }
    

    编辑:由于评论添加了Update();

    【讨论】:

    • 谢谢。但是 BringToFront 没有用。我使用了面板的 Visible 属性。
    • @Peter17 Visible 很好。但我很惊讶BringToFront 没用。我添加了适用于我的答案的代码。
    • 在 UI 线程上调用 Sleep(3000)完全足以诱导 Windows 在标题栏中显示带有“未响应”消息的幽灵窗口。防止您真正看到 panel2 被带到前面。这是一个非常糟糕的例子。
    • @HansPassant "这按预期工作" = 我试过了,发现面板发生了变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    相关资源
    最近更新 更多