2016-04-09 4 views
2

Привет, у меня проблема с проектом wpf (C#). это мой источникЗапустить программу после появления формы окна wpf

namespace WpfApplication1 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 

      MessageBox.Show("Test"); 
     } 
    } 
} 

я хочу, чтобы запустить свою программу

MessageBox.Show("Test"); 

после того, как появляется окна формы ... но в этом коде, когда я запустить программу, просто первое шоу теста в окне сообщения и после того, как эта форма окна появляется! что я должен сделать с первой формой окна, и после этого откроется окно сообщения, чтобы показать (Test)? Я использую Visual Studio 2015 проект

ответ

2

(WPF) Вы должны написать свой код в Window_Load события:

public MainWindow() 
{ 
    InitializeComponent(); 
    Loaded += MainWindow_Loaded; 
} 

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show("Test"); 
} 

EDIT: Для работы с более таких операций, как (используется функция с более чем 10 функция внутри как вы хотели), вы можете использовать ThreadPool так:

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    ThreadPool.QueueUserWorkItem(_ => 
    { 
     //Longer Process (//set the operation in another thread so that the UI thread is kept responding) 
     Dispatcher.BeginInvoke(new Action(() => 
     {      
      //use the Dispatcher to "return" to the UI thread 
      //To change the UI elements like label you should put them here like : label1.Text = ""; 
     })); 
    }); 
} 
+0

Спасибо. это сработало, но есть ли другой путь? Я не могу понять это действие! (этот код)! ! – MyJustWorking

+1

@MyJustWorking ... Он просто ждет события. Каждый раз, когда у вас есть длительный процесс, вы можете поместить его в 'Dispatcher.BeginInvoke', и, пока он делает этот длительный процесс, ваш пользовательский интерфейс по-прежнему несет ответственность. –

+0

есть другая проблема ... когда моя программа начинается с этого кода, мой указатель мыши поворачивается, и я не могу использовать другие действия в форме окна до тех пор, пока процесс не завершится ... есть ли способ решить это тоже? – MyJustWorking