【发布时间】:2016-04-14 17:05:49
【问题描述】:
上下文
我希望用户查看他们之前所做的一些选择。因此,我在用户窗体中的单独控件上显示一些描述每个选择的文本。控件上的某些文本很长,超出了控件的宽度。这可以;我只希望用户能够看到所有文本而无法对其进行编辑。为此,我使用“锁定”(即不可编辑)但“启用”(即可选择)的文本框。这样,他们只需单击鼠标并拖动鼠标或箭头键即可滚动浏览所有文本。
问题
(小而美观的)问题是,当用户单击其中一个文本框时,他们会看到一个闪烁的光标,这具有误导性,因为它通常与 可编辑 文本框相关联。
可能的解决方案
理想情况下,将有一些方法可以删除闪烁的光标,同时仍然允许选择但不允许编辑。但是,我对其他与更改宽度或滚动条无关的替代方案持开放态度(文本框太短而无法容纳滚动条)。到目前为止,我最好的选择是将背景颜色更改为灰色,以使其更清楚地表明它是不可编辑的。
附:我对 VBA 非常熟悉,所以如果这是解决方案的一部分,我很乐意这样做。
谢谢大家!
【问题讨论】:
-
使用标签而不是文本框来显示描述?
-
我尝试使用标签,但似乎无法选择标签末尾之外的所有文本。
-
标签不允许选择文本。
-
太棒了,那并没有什么帮助。我需要允许选择但不允许编辑。
-
这是我想到的另一个逻辑...当用户“进入”文本框时,所有文本都将被选中,然后用户可以使用右/左箭头键滚动选择不显示闪烁的插入符号。这可以通过将文本框文本存储在一个变量中,然后在用户按下右箭头键时修剪文本并显示和选择它来实现。同样,当用户按下左键时,应该会发生相反的情况。它更像是一个 TICKER
标签: excel textbox userform vba