首页 > 解决方案 > 我们可以控制休假事件吗?

问题描述

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

ListView lst = (ListView)this.ActiveControl;

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

标签: c#getcontrols

解决方案


发生错误是因为当控件失去焦点时,它不再处于活动状态。如果要使用最后一个活动控件,可以使用Enterevent 保存它并在以下位置使用它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;

推荐阅读