2015-09-07 3 views
0

У меня есть класс, который позволяет открывать новые окна типа RandomWindowType. Затем у меня есть обработчики событий в этом классе, которые определяют, изменился ли выбор. Когда я верну эту информацию, я выполняю действие в зависимости от выбора. Однако я хотел бы знать, в каком окне объект подвергся изменению выбора. Есть ли способ получить эту информацию от отправителя? Если нет, возможно, я смогу получить активное окно и бросить его на RandomWindowType?Получение окна отправителя событий

Код

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

отправитель, как RandomWindowType даст вам окно Wich вызвал событие. –

+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-esque иногда – TurtleFan

Смежные вопросы