在我开始之前,我用Google搜索这个死刑,并有关于如何防止保存提示的许多职位。 我有显示保存提示的问题。
我在C#中建立文件生成系统的模板编辑部分。 该系统将编辑“点”和“DOTX”文件。 概述这个问题之前,我使用的发展环境在运行Visual Studio 2010和Word 2010的它最终将在其他版本上运行,但我想获得这些版本的功能第一。
现场设置我必须从一个存储过程返回列的列表形式开放(数据源)添加到文档的书签。 我把所有的书签,并拖/放操作功能的。 当我关闭应用程序,我赶上“ApplicationEvents4_DocumentBeforeCloseEventHandler”事件关闭窗体。
当我关闭的形式,我检查山楂许多文件也有开放。 如果只有一个文件打开时,我关闭提示用户保存更改应用程序。 然而,如果有多个打开的文档(大多数人有许多不同的Word文档同时打开的),我找到了正确的文件,并设置为提示用户保存更改的标志将其关闭。
这是发生问题。 在这一点上,保存更改对话框一直没有出现,一切都在Visual Studio中死机。 如果我停止对Visual Studio 2010中的调试任务栏中的文件闪烁无限期的,如果你专注于它,它消失,而不提示保存更改。
这是处理窗体关闭事件的代码:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (app != null)
{
if (app.Documents.Count < 2)
{
this.TopMost = false;
((Word._Application)app).Quit();
app = null;
}
else
{
foreach (Word.Document document in app.Documents)
{
if (document.FullName.Equals(wordDoc.FullName))
{
object saveChanges = Word.WdSaveOptions.wdPromptToSaveChanges;
((Word._Document)wordDoc).Close(ref saveChanges);
break;
}
}
}
}
}
问题是这条线应该表现出保存更改对话框:
((Word._Document)wordDoc).Close(ref saveChanges);
我曾尝试没有多少运气调试此。 把一个断点在这条线上,并在
break;
行允许程序停止在“关闭”行,但是当你“步”正向或“继续”二字变得反应迟钝,所以做表格,就非常下一行断点从来没有被击中。
任何帮助将不胜感激的东西这个简单的是如此恼人卡住上。