我们可以在请假事件中得到控制吗?

时间:2018-08-18 07:22:42

标签: c# get controls

当我想获取控件时,可以这样输入(exp listview):

ListView lst = (ListView)this.ActiveControl;

但是在请假事件中,我不能这样写。
那么有人可以帮我如何在请假事件中获得控制权吗? 在离开事件中,它表示控件不再处于活动状态。我们如何通过上述方式获得控制权?

1 个答案:

答案 0 :(得分:-1)

发生错误是因为当控件失去焦点时,它不再处于活动状态。如果要使用上一个活动控件,可以使用Enter事件将其保存并在Leave中使用它:

在类内定义变量:

Control ctlActive = null;

内部Enter事件:

ctlActive = this.ActiveControl;
// OR:
ctlActive = sender as Control;

内部请假事件:

if (ctlActive != null && ctlActive is ListView)
{
    var lst = ctlActive as ListView;
    // do something...
}
//...
ctlActive = null;