WPF - 如何删除“this.close()”效果?

Posted

技术标签:

【中文标题】WPF - 如何删除“this.close()”效果?【英文标题】:WPF - How can I remove the "this.close()" effect? 【发布时间】:2010-12-07 17:17:58 【问题描述】:

当我调用“this.close()”传递到另一个页面时。关闭的效果,一秒钟没有显示任何页面。请问我该如何解决?

例如:


Game game = new Game();
game.show();
this.close();

当我调用 this.close() 时,会有一秒钟没有显示页面的效果。我想要和效果类似的浏览器。

【问题讨论】:

我不确定你的问题是否有意义。您可以编辑以更好地解释您的问题吗? 完成。你现在明白了吗? 【参考方案1】:

在 Windows 7 中,Aero 效果会导致窗口在显示和关闭时淡入淡出。这是我继承开发的应用程序之一的问题,我通过摆脱在屏幕上简单地相互替换的单独表单来解决我的问题。我的 WPF 经验有限,因此您可能需要解释我的解决方案:

我将程序中的所有表单对象转换为单独的用户控件。 我的基本表单有一个看起来像这样的 ActiveScreen 属性:

// Code is untested
public Control ActiveScreen

    get  return _screen; 
    private set
    
        this.Controls.Remove(_screen);
        _screen = value;
        _screen.Dock = DockStyle.Fill;
        _screen.Size = this.ClientRectangle.Size; // So that control draws correctly the first time.
        this.Controls.Add(_screen);
    

快速搜索后,肯定还有其他方法可以绕过 Aero 效应: Disable aero fade-in effect on dialog

【讨论】:

以上是关于WPF - 如何删除“this.close()”效果?的主要内容,如果未能解决你的问题,请参考以下文章

WinForm与WPF .Close()事件

WPF窗口与windowsForm窗体之间的问题,怎么调用close()

C# WPF 关闭整个程序

WPF Storyboard 动画播放完毕时触发的事件

WPF怎样关闭当前窗口

WPF中,怎样设置点击按钮关闭当前窗口