【发布时间】:2021-10-14 12:25:17
【问题描述】:
例如,我有一个像这样的字符串:
ItemA MMC FG MMC 0802 EA 1 21175393
上面有 5 个标签:
ItemA/tab/MMC FG/tab/MMC 0802/tab/EA/tab/1/tab/21175393
这个字符串是由从标签扫描的二维码输入接收的,现在,这里的问题是输入是在 DataGridView 的一个单元格内完成的,所以,当第一个选项卡出现时,它会改变选中的列到下一个。
将属性“StandardTab”设置为 False 有点工作,但现在当我输入 QR 码字符串时,它会在第一个选项卡出现时停止编辑模式。 我正在尝试使用
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData == Keys.Tab && dGItems.EditingControl != null && msg.HWnd == dGItems.EditingControl.Handle
&& dGItems.SelectedCells.Cast<DataGridViewCell>().Any(x => x.ColumnIndex ==4))
{
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
这会有所帮助,但它会将扫描的 QR 码字符串中的选项卡替换为空格,我不希望这种情况发生。 上面有 5 个标签:
ItemAMMC FGMMC 0802EA121175393
如何在不替换或忽略它们的情况下允许单元格中的选项卡输入? (这是因为我需要抓住最后一个标签才能收到它旁边的数字)
【问题讨论】:
标签: c# winforms input datagridview