안녕하세요!VSTO Word 추가 기능 : MessageBox 타이밍 문제
나는 사용자가 주어진 텍스트에서 특정 단어를 대체하는 데 도움이되는 VSTO Word Addin을 연구 중이다. 대화 상자가 사용자에게 대체품을 안내합니다. 이제 사용자가 마지막 단어를 바꿀 때 그는 수행 된 MessageBox을 표시하려고합니다. 거기에 타이밍 문제로 어려움을 겪고 있습니다. MessageBox는 마지막 대체가 표시되기 전에 나타납니다. 그럼에도 불구하고 교체를위한 코드 라인은 이전에 실행됩니다. MessageBox를 클릭 한 후에는 반드시 교체해야합니다. 여기
내가 단어를 대체하기 위해 사용하는 라인 :using Microsoft.Office.Interop.Word;
...
Words wordsText = Globals.ThisAddIn.Application.ActiveDocument.Words;
...
wordsText[wordPos].Text = "[some text]";
을 그리고 이것은 나중에 표시 내 메시지 박스입니다 : 나는에 위의 줄에 중단 점을 설정 한 경우
MessageBox.Show(this._owner, "[you are done text]", "[title]", MessageBoxButtons.OK, MessageBoxIcon.Information);
가 나는 것으로 나타났습니다 Visual Studio는 MessageBox가 나타나기 전에 올바르게 대체됩니다. Microsoft.Office.Interop.Word.Words
의 변경 사항을 어쨌든 강제 적용 할 수 있습니까? 다른 아이디어?
당신이 스레드에서 작업을 실행하는 희망? 나는 이것을 재현 할 수 없었고, 나를 위해 잘 작동한다. 어쩌면 당신은'wordPos'를 통해 루프를 돌리는 곳에서 전체 코드를 게시 할 수 있습니까? – etaiso