请教一个WPF程序d出单个窗体实例的问题

请教一个WPF程序d出单个窗体实例的问题,第1张

        private void button1_Click(object sender, RoutedEventArgs e)

        {

            W1.Show()

            W1.Topmost = true

            W1.WindowState = WindowState.Normal

        }

        //类似单例模式,如果已经有了就不再创建

        private Window1 w1

        private Window1 W1

        {

            get

            {

                if (w1 == null)

                    w1 = new Window1()

                return w1

            }

        }

var win = new MainWindow()

win.Show()

对于修改名字可以在xaml中的 <Window title="FormData">即可,也可以使用代码win.title="FormData"

WPF主窗体单例模式可以通过以下步骤实现:

在App.xaml.cs文件中重写OnStartup方法,在该方法中创建一个MainWindow实例,并将其设置为应用程序的主窗口

在MainWindow.xaml.cs文件中重写OnSourceInitialized方法,在该方法中获取当前窗口的句柄,并将其设置为单例模式;

在MainWindow.xaml.cs文件中重写OnClosed方法,在该方法中释放当前窗口的句柄,以便下次重新创建窗口时可以正常显示;

在App.xaml.cs文件中重写OnActivated方法,在该方法中检查当前窗口是否已经存在,如果存在则将其显示出来,如果不存在则创建一个新的窗口。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12037460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存