TXControl .NET 23 如何添加页码
HeaderFooterCollection hfc = textControl1.Sections.GetItem().HeadersAndFooters;
hfc.Add(HeaderFooterType.Header);
HeaderFooter h = hfc.GetItem(HeaderFooterType.Header);
if (h != null)
{
h.Selection.Text = "Pageof ";
h.Selection.Start = 5;
h.Selection.Length = 0;
PageNumberField page = new PageNumberField(1, NumberFormat.ArabicNumbers);
page.Editable = false;
page.DoubledInputPosition = true;
h.PageNumberFields.Add(page);
h.Selection.Start = 9;
h.Selection.Length = 0;
PageNumberField totalPages = new PageNumberField();
totalPages.Editable = false;
totalPages.DoubledInputPosition = true;
totalPages.ShowNumberOfPages = true;
h.PageNumberFields.Add(totalPages);
}
上面代码只是在页眉中添加啦页眉,那如果想在当前光标位子添加页码怎么办,比如我现在关标在页脚处,添加页码自然是添加到页脚处。
这个怎么搞。
这个问题我这边验证以后明天早上给您答复 我想您的意思应该是在光标位置添加当前页码,但是这个目前无法采用PageNumberField,该字段只能在页眉页脚用
当前页码可以通过当前位置和 TXTextControl.PageStart 、TXTextControl.PageLength 进行比较,确定页码。然后作为文字插入即可
本帖最后由 KingMan 于 2017-9-21 14:25 编辑
Richard.Ma 发表于 2017-9-21 10:27
我想您的意思应该是在光标位置添加当前页码,但是这个目前无法采用PageNumberField,该字段只能在页眉页脚 ...
我知道页面只能添加到页面页脚中,我意思是,怎么判断我当前光标是在页眉区域还是页脚区域。
如果当前光标是在页眉区域则添加PageNumberField到页眉区域,如果在页脚则添加PageNumberField到页脚区域。
如下面代码加粗部分,需要一个HeaderFooterType参数,但是我现在想如果当前光标在页脚区域,我则传递HeaderFooterType.Footer.
我怎么知道当前光标是在页眉还是在页脚。
HeaderFooterCollection hfc = textControl1.Sections.GetItem().HeadersAndFooters;
hfc.Add(HeaderFooterType.Header);
HeaderFooter h = hfc.GetItem(HeaderFooterType.Header);
if (h != null)
{
h.Selection.Text = "Pageof ";
h.Selection.Start = 5;
h.Selection.Length = 0;
PageNumberField page = new PageNumberField(1, NumberFormat.ArabicNumbers);
page.Editable = false;
page.DoubledInputPosition = true;
h.PageNumberFields.Add(page);
h.Selection.Start = 9;
h.Selection.Length = 0;
PageNumberField totalPages = new PageNumberField();
totalPages.Editable = false;
totalPages.DoubledInputPosition = true;
totalPages.ShowNumberOfPages = true;
h.PageNumberFields.Add(totalPages);
}
明白您的需求了,目前确实无法判断光标是处于页眉或者页脚,唯一的办法可能只能用光标当前纵向坐标的位置来判断了,这个算是一个迂回的办法。判断Y值较大的话为页脚,这个可能需要你根据页面大小取一个阈值
_textControl.InputPosition.Location.Y;
页:
[1]