当文本框太满时更改文本框行为

时间:2016-07-07 17:43:58

标签: c# winforms textbox

目前,当我在文本框中输入太多内容时,它的确如此:

[This is the text I'm    ]

对此:

[is the text I'm entering]

随着文字的开头悬挂在左边。我宁愿继续显示句子的开头,就像这样。

[This is the text I'm ent]

但是允许用户继续键入其中,他们正在键入的内容不可见,没有上述滚动行为。这已经是文本框的属性吗?

备选问题:如果文本框处于以下状态,是否有办法检测或修复

[m entering              ]

当整个文本框包含"这是我输入"的文字。换句话说,当它显示白色空间而有利于它拥有的内容时。这可以通过复制并粘贴到框中来实现。

1 个答案:

答案 0 :(得分:0)

我不知道有任何修改此行为的设置。

还有其他选择:

  1. 创建自己的文本框。这是一项很多工作,但可以让您完全控制文本输入的各个方面。

  2. 创建影子/代理文本框。这很hacky,但是......

    • 在屏幕上放置一个文本框。
    • 当可见文本框获得焦点时,将焦点切换到阴影。
    • 在TextChanged事件中,将内容复制到可见文本框,并将其光标位置设置为零(以始终保持文本的正面可见)。