关于使用c#的ms字中的子弹和水平子弹

时间:2014-10-18 04:16:14

标签: c#-4.0 ms-word

我有一个功能区按钮,可以在我的文档中插入编号的项目符号,如下所示:

private void button4_Click_1(object sender, RibbonControlEventArgs e)
{
    Word.ListGallery listGallery = Globals.ThisAddIn.Application.ActiveDocument.Application.ListGalleries[Word.WdListGalleryType.wdOutlineNumberGallery];
    oPara = oDoc.Content.Paragraphs.Add(range);
    listFormat = oPara.Range.ListFormat;
    this.ApplyListTemplate1(listGallery, listFormat, 1);
    range.ListFormat.ListLevelNumber = 1;
}

我还有另一个按钮,它可以像1.1,1.2等那样应用等级编号的子弹,如此

private void button5_Click(object sender, RibbonControlEventArgs e)
{
    Word.ListGallery listGallery = Globals.ThisAddIn.Application.ActiveDocument.Application.ListGalleries[Word.WdListGalleryType.wdOutlineNumberGallery];
    oPara = oDoc.Content.Paragraphs.Add(range);
    listFormat = oPara.Range.ListFormat;
    this.ApplyListTemplate1(listGallery, listFormat, 2);
    oPara.Range.ListFormat.ListLevelNumber = 2;
 }

这是我的申请清单模板:

private void ApplyListTemplate1(Word.ListGallery listGallery, Word.ListFormat listFormat, int level = 2)
{
    listFormat.ApplyListTemplateWithLevel(
    listGallery.ListTemplates[level],
    ContinuePreviousList: true,
    ApplyTo: Word.WdListApplyTo.wdListApplyToSelection,
    DefaultListBehavior: Word.WdDefaultListBehavior.wdWord10ListBehavior,
    ApplyLevel: level);
}

问题:

如果我点击1级按钮,它会插入一个编号的子弹,例如" 1。"然后我点击第二个按钮,它会插入" 1.1。",现在如果按第一个按钮插入" 2。"它插入很好,但第二个按钮点击不插入2.1,而是插入" 1.2"已经坚持了几天。

1 个答案:

答案 0 :(得分:0)

而不是使用 oPara.Range.ListFormat.ListLevelNumber = 2; 我使用了oPara.Range.ListFormat.ListIndent(); 和oPara.Range.ListFormat.Outdent()而不是oPara.Range.ListFormat.ListLevelNumber = 1; 它没有错误。