我试图创建一个简单的MS Word插件(主要是探索功能)。 该插件功能区中添加自定义任务窗格和组。 功能区控制包括一个复选框来控制自定义任务窗格的知名度,和一个按钮打开一个文档。 当我测试在MS Word加载项任务窗格显示正确,并且该复选框正常工作。 问题是,当我按一下按钮,打开一个新的文档,任务窗格被隐藏,复选框不再控制任务窗格中的知名度。 这是怎么回事了? 我如何才能让自定义任务窗格中显示?
这里是插件的一个简单的版本:
public partial class ThisAddIn
{
private MyUserControl _myUserControl;
private CustomTaskPane _myCustomTastPane;
private OpenFileDialog _dialog;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
_dialog = new OpenFileDialog { Filter = "Doc File (*.rtf)|*.rtf", RestoreDirectory = true };
_myUserControl = new MyUserControl();
_myCustomTastPane = this.CustomTaskPanes.Add(_myUserControl, "My Task Pane");
_myCustomTastPane.Visible = true;
Globals.Ribbons.MyRibbon.ShowPane.Click += ShowClicked;
Globals.Ribbons.MyRibbon.LoadDoc.Click += LoadFile;
}
private void ShowClicked(object sender, RibbonControlEventArgs ribbonControlEventArgs)
{
_myCustomTastPane.Visible = Globals.Ribbons.MyRibbon.ShowPane.Checked;
}
void LoadFile(object sender, RibbonControlEventArgs e)
{
if (_dialog.ShowDialog() != DialogResult.OK) return;
object missing = Missing.Value;
object myFalse = false;
object myTrue = true;
object format = WdSaveFormat.wdFormatRTF;
object fileToOpen = _dialog.FileName;
Application.Documents.Open(ref fileToOpen, ref myFalse, ref myFalse, ref myFalse, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref myTrue, ref myFalse, ref missing, ref missing, ref missing);
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO generated code
//....
#endregion
}
为了简单起见,我已经离开了色带的定义,因为它实际上只是一个按钮和一个复选框。 我也留下了的MyUserControl的定义,作为类的内容并不重要(在我的演示版本,我只是有一个标签,一个简单的类)。