2015-09-07 71 views
0

我有一个类允许用户打开RandomWindowType类型的新窗口。然后在那个类中有事件处理程序来检测选择是否改变。当我收回这些信息时,我会根据选择执行一项操作。但是,我想知道对象在哪个窗口中进行了选择更改。有什么方法可以从发件人处获得这些信息吗?如果没有,我可以得到活动窗口并将其投射到RandomWindowType获取事件窗口发件人

代码

void treeListControl1_SelectedItemChanged(object sender, System.EventArgs e) 
{ 
    // Which window? 
    // Take action 
} 
+0

发件人为RandomWindowType会给你的窗口至极触发事件。 –

+0

我想你已经将事件附加到treeListControl而不是一个窗口。在这种情况下,你需要获得我想要的控件的父窗口。这就是你需要的吗? –

回答

2

你应该投发件人到你的窗口型得到它:

void treeListControl1_SelectedItemChanged(object sender, System.EventArgs e) 
{ 
    var window = sender as RandomWindowType; 
    if (window == null) // if it's not your random type 
     return; 
    // Take action 
} 
+0

很感谢! C#有时可能是Swift式的 – TurtleFan