我有一个带有TextBox
的表单。每次文本更改时,我都会使用TextChanged
事件创建PDF文件,并以相同的形式将其加载到AxAcroPDF
-Object中。这很好,但是TextBox
会失去焦点,而且由于某种原因,加载文件后的textBox.Focus()
无法工作。
有没有人知道我如何安排你在刷新PDF的同时继续打字?
编辑:
我有另一个想法,我创建了一个单独的线程来更新PDF,而在TextChanged
-event中,我只设置了一个标志。但现在我犯了一个奇怪的错误
Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
发布于 2012-10-02 04:23:33
我为自己感到羞愧,我发现了一个非常非常肮脏的黑客,但它有效.我做了以下工作:
当我在MessageBox中写文本时,我会在TextChange事件中重写我的PDF。在相同的方法中,我存储具有焦点的控件(在对PDF调用LoadFile时,该控件仍然失去焦点)。现在,肮脏的工作来了:我实现了一个线程,它不断地将焦点设置为存储在变量中的Control。在TextBox的左事件中,我重置变量,以便其他控件不会被阻塞。
这是一个非常肮脏的黑客我知道,但现在我可以立即“编辑”用我自己的表格,这是一个不错的eyecandy ;)
谢谢你的帮助!
发布于 2012-10-02 00:36:08
试试这个:
textBox.Select();
textBox.Focus();
发布于 2017-12-06 14:13:54
我无法让.Focus()和.Select()工作,所以我使用了Jquery,它工作得很好。
$(document).ready(function () {
setTimeout(function () {
$(".contentWrapper input")[0].focus();
}, 100);
});
https://stackoverflow.com/questions/12686836
复制