我试图将textbox设置为visible = false以避免用户手动写入,但我仍然需要使用条形码扫描器对其进行写入,所以我需要它在使用扫描仪之前获得重点,什么会是更好的方法吗?
答案 0 :(得分:0)
从这个问题来看,你想要实现两件事。
<强>解决方案强>
在扫描之前将文本框可见性属性设置为false
,以便它显示在屏幕上。
在完成扫描后或扫描方法/功能结束时设置事件处理程序,将名为Property
的文本框的Disabled
更改为true
。
希望这有帮助。
答案 1 :(得分:0)
如果隐藏文本框的目的是不允许用户编辑它,那么 您可以将texbox的ReadOnly属性设置为true,然后调用.Focus()方法 在扫描条形码之前。根据我的经验,安装条形码后 阅读器驱动程序,附带CD的软件,你所要做的就是扫描 条形码,它将填充人类可读格式的条形码值, 在可以接受用户输入的应用程序中的任何控件上。我建议用 文本框的只读属性,而不是设置visible = false。
答案 2 :(得分:0)
您最好的选择就是简单地验证输入文本框的内容确实是条形码。当扫描仪发生故障并且用户仍然需要输入条形码时会发生什么?将其限制为仅限数字。
如果这不是一个选项,并且您发现扫描程序无法使用隐藏或禁用的文本框,请设置TabStop = false
和Multiline = true
,并尝试将文本框大小设置为0x0。或者至少非常小,并使其与背景颜色相同。在这种情况下,您需要一个标签或其他东西,然后显示条形码或产品信息,以便用户知道扫描工作。
另一种可能性是在您的表单上设置KeyPreview = true
。然后,无论关注哪个控件,您都可以处理表单KeyPress
事件中看起来像条形码的任何内容。如果数字开始进入,捕获它们,如果结果不是条形码,只需将它们转发到聚焦控件。
答案 3 :(得分:0)
只需使用textbox visible = true
将textbox属性大小设置为(0,0)即可