【问题标题】:Splash Screen in WPF two monitorsWPF中的启动画面两台显示器
【发布时间】:2013-10-17 02:22:01
【问题描述】:

我正在开发一个 WPF 应用程序。我正在使用两台显示器。当某些功能正在执行时,我正在使用启动屏幕在窗口上弹出。

我遇到的问题是,当我将应用程序移动到辅助监视器并开始处理功能时,初始屏幕仍显示在主监视器而不是辅助监视器上。

有什么帮助吗?

【问题讨论】:

  • 最好贴出你的代码。
  • 闪屏不是解决这个问题的合适方法。使用常规窗口并将 MainWindow 设置为 Owner
  • 这个问题对我来说不太有意义。 “启动画面”是仅在应用程序启动期间显示的窗口。您是指进度窗口还是“请稍候”窗口?
  • 添加某种屏幕截图/示例/代码将有助于我们帮助您诊断问题。
  • 我的整个应用程序都在使用启动画面,这是我的错。现在我弹出一个新窗口来在我的应用程序中显示忙碌指示器。感谢您的回复。

标签: c# wpf splash-screen multiple-monitors


【解决方案1】:

如果适合你,你可以试试BusyIndicator,否则你可以试试下面的代码来显示Splash Window。

 void TemplateSelector_Loaded(object sender, RoutedEventArgs e)
        {
            showWin();

            Thread.Sleep(10000);


            CloseWin();

        }

        private void CloseWin()
        {
            WindowManager.Close();
        }
        Window tempWindow = new Window();
        public void showWin()
        {
            WindowManager.LaunchWindowNewThread<SplashWindow>();

        }
    }

    public class WindowManager
    {
        private static Window win;
        public static void LaunchWindowNewThread<T>() where T : Window, new()
        {
            Thread newWindowThread = new Thread(ThreadStartingPoint);
            newWindowThread.SetApartmentState(ApartmentState.STA);
            newWindowThread.IsBackground = true;

            Func<Window> f = delegate
            {
                T win = new T();
                return win;
            };

            newWindowThread.Start(f);
        }

        private static void ThreadStartingPoint(object t)
        {
            Func<Window> f = (Func<Window>)t;
            win = f();

            win.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            win.Topmost = true;
            win.Show();
            Dispatcher.Run();
        }
        public static void Close()
        {

            if (win != null)
                win.Dispatcher.BeginInvokeShutdown(DispatcherPriority.Send);

        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2011-03-23
    • 2011-12-29
    相关资源
    最近更新 更多