事件发送者的获取窗口

本文关键字:窗口 获取 发送者 事件 | 更新日期: 2023-09-27 18:11:25

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

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

事件发送者的获取窗口

您应该将sender强制转换为您的窗口类型来获取它:

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
}