2013-07-28 92 views
1

我的程序包含一個帶有「SelectionChanged」事件的列表視圖。當我在列表視圖中更改所選項目時,我想打開一個新窗口,其中包含與之相關的特定選項。但問題是新窗口出現一會兒,並隱藏在主窗口後面。 這是我的代碼的一部分:C#New window focus

private void display_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     var editwindow = new EditWindow(); 
     editwindow.Show(); 
     editwindow.Focus(); 
    } 

我還包括在第二窗口對焦功能時,它的啓動。我如何解決這個問題?

+1

哪個GUI工具包這是否是指什麼? WPF?的WinForms?請添加適當的標籤。 –

回答

4

試圖改變焦點事件被解僱通常很麻煩,它在這裏。你需要一個PostSelectionChanged事件,但不可用。儘管你可以創建你自己的,Dispatcher.BeginInvoke()可以在所有事件處理完成後運行目標。這可以解決你的問題:

private void display_SelectionChanged(object sender, SelectionChangedEventArgs e) { 
    Dispatcher.BeginInvoke(new Action(() => { 
     var editwindow = new EditWindow(); 
     editwindow.Show(); 
    })); 
} 
0

使用Activate()函數:

editWindow.Activate();