vb.net - 将 DataGridView 设置为活动控件
问题描述
对于我正在从事的项目,我创建了一个非常基本的虚拟键盘(不要问我为什么不使用内置的 Windows。简短的回答是我不能,我将把它留在那里)。
我让键盘上的键工作的方式是每个可编辑对象,无论是 TextBox、DataGridView 的一部分等,都会获得焦点,一个名为的通用对象LastFocus
被设置为对该可编辑对象的引用。然后,每当按下任何键时,电流ActiveControl
都会设置为LastFocus
,然后我会调用SendKeys.SendWait()
任何按下的键。
我目前的问题是尝试使用 DataGridView 对象执行此操作。现在,这就是我按下“退格”键的方法:
Private Sub BtnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
If TypeOf LastFocus Is TextBox Then
Me.ActiveControl = LastFocus
SendKeys.SendWait("{BACKSPACE}")
ElseIf TypeOf LastFocus Is DataGridView Then
Me.ActiveControl = LastFocus
SendKeys.SendWait("{BACKSPACE}")
End If
End Sub
我有这样的子设置的原因是因为还有其他不是 TextBoxes 或 DataGridViews 的对象可以设置为LastFocus
我不想访问 Backspace 键。
LastFocus
但是,ActiveControl
当它是 DataGridView 对象时,运行此代码会给我以下错误:
不可见的禁用控制无法激活
我不确定为什么会收到此错误,因为我没有将 DataGridView 设置为禁用或任何其他内容。我还有其他方法可以解决这个问题吗?
解决方案
推荐阅读
- apache-superset - 在 Superset 中从 http 更改为 https
- java - 将 GZIP 内容提取到字符串以获取大数据字节 java
- java - 当找到第一个结果时,RxJava 中断并行执行
- php - 未创建错误会话:此版本的 ChromeDriver 仅支持 Chrome 版本 80,安装的 chromedriver 为 85
- angular - 从 Angular 应用程序调用第三方支付 URL
- google-classroom - 如何在您的网站中添加按钮以加入 Google 课堂?
- javascript - 如何使用 next-auth 获取额外的范围数据?
- algorithm - 给定一个数组并将它们分组为可能的总和
- python - globals() 函数在 python 中有奇怪的行为
- python - 如何将输入限制为一系列数字?