如何强制文本框更新其文本

时间:2013-09-11 22:59:05

标签: c# textbox sendmessage user32 spy++

所以我已经查看了有关使用一系列命令将文本设置到文本框中的stackoverflow的五到十个问题。我已经尝试过使用EM_SETSEL和EM_REPLACESEL的SetWindowText,SendMessage,以及其他一些我无法想到的东西。在大多数情况下,我成功了,除了一个奇怪的事情。

当我设置此特定文本框的文本时,没有任何内容显示,没有任何更改。起初我以为我没有正确设置数据。但是,当我使用Spy ++或Winspector查看文本框的文本时,包含我的更改的正确数据会在那里,但不会显示在实际文本框中。更奇怪的是,当我点击文本框“我编辑”回到表单时,spy ++和Winspector的数据会更改为文本框显示的内容。

我和我的一位朋友谈过,他提到这可能是一场竞争。我正在尝试编辑此框,文本框也正在由其他一些线程进行编辑。

如果有人有任何建议我会非常感激。

编辑:好吧,所以我做了一些深入研究导致问题的原因。我打开了Winspector,让它看着文本框。从那里,我能够识别在文本数据正确的最后时间到第一次更改时发送到窗口的消息。我还将结果导出到带有参数的xml文档,但它大约有680行。

下面是消息列表: http://i.imgur.com/SBCFHK8.png

1 个答案:

答案 0 :(得分:0)

控件可能只需重新绘制自己。

您可以尝试两个API来执行此操作: