c# - 我们可以控制休假事件吗?
问题描述
当我想获得一个控件时,我可以这样输入(exp listview):
ListView lst = (ListView)this.ActiveControl;
但是在离开事件中,我不能那样写。
那么有人可以帮助我如何在离开事件中获得控制权吗?在离开事件中,它表示控件不再处于活动状态。我们如何通过上面的方式获得控制?
解决方案
发生错误是因为当控件失去焦点时,它不再处于活动状态。如果要使用最后一个活动控件,可以使用Enter
event 保存它并在以下位置使用它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;
推荐阅读
- c# - 导出到 wdExportFormatXPS 时,ExportAsFixedFormat 抛出异常
- bash - 从几个文件中复制字符串并将其粘贴到 bash 中的新文件中
- c++ - 缺少数组元素问题
- android - 在 HERE Lite 中等效于 HERE Starter PositioningManager
- java - 我正在尝试在 Java 中将与投注相关的组件添加到我的游戏中,但程序在要求投注金额后停止工作
- c# - 不允许访问预制对象上的 Renderer.material。改用 Renderer.sharedMaterial
- css - 使用 calc() 设置动态宽度不起作用
- python - 在 groupby pandas 函数之后导出 .csv
- visual-studio-code - NXunit 测试资源管理器未在 VS Code 上显示测试(测试资源管理器 UI)
- firebase - 有人可以帮我处理这段代码吗?Google 登录 Firebase (Flutter)