我一直在學習上我最近的項目C#和WPF和我所遇到的問題確定發件人一定的形式打開時。我有一個主窗體與綁定到對象列表的列表框。我用下面的代碼來處理用戶雙擊列表框中的行:確定第二個窗體打開時的發件人?
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
<EventSetter Event="MouseDoubleClick" Handler="ListBoxItem_MouseDoubleClick"/>
</Style>
</ListBox.ItemContainerStyle>
當我遇到了一個問題,就是我要推出第二個窗體(名爲「AddProject」),當用戶雙擊點擊,但我也從主窗體上啓動和按鈕相同的窗體。我需要確定哪個(雙擊或按鈕單擊)啓動了輔助表單,以便我可以適當地更改它。
在主要形式,我可以使用Window_loaded方法,並宣讀了發件人姓名,但是當我嘗試使用相同的次要形式,這是行不通的。這個工程的主要形式,而不是次要:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show(sender.ToString());
}
當單擊該按鈕,下面的代碼運行打開AddProject形式:
private void btnAddProject_Click(object sender, RoutedEventArgs e)
{
AddProject frm = new AddProject();
frm.ShowDialog();
}
我知道確定發件人是共同的問題遍佈堆棧溢出,但我無法找到一個好的答案,如何確定已經打開第二個表單的發件人。我想我可以在第二個窗體的window_load方法中運行它,但這似乎不起作用。任何幫助或鏈接到一個討論,回答我的問題,非常感謝!
只是爲了澄清,你要訪問單擊項目在第二種形式?換句話說,來自第一個處理程序的'sender'變量? – BradleyDotNET 2014-12-05 22:57:47
我需要確定發件人是誰,無論是雙擊或單擊按鈕,這樣我就可以隨後加載,這取決於是發送方在修改表格。 – 2014-12-05 23:43:52