yuningmeng 发表于 2018-4-26 16:43:25

分栏

用代码怎么分自动分成两栏,不设定一栏宽多少,让其自动平均分成两栏怎么设置?因为我确定分栏长度以后出现了问题,右边图片遮盖了左侧。

Richard.Ma 发表于 2018-4-27 10:07:05

直接使用下面的代码即可实现平均分,我不太清楚您说的右边图片盖住左侧是什么意思

_textControl.Sections.GetItem().Format.Columns = 2;

yuningmeng 发表于 2018-5-4 08:56:45

Richard.Ma 发表于 2018-4-27 10:07
直接使用下面的代码即可实现平均分,我不太清楚您说的右边图片盖住左侧是什么意思

分栏以后左右两边覆盖了,页面大小设置没用,还有就是想问您一下怎么设置为a3或a4而不用设置大小,同时怎么设置为横向和纵向。

Richard.Ma 发表于 2018-5-4 10:21:00

还是没能重现你说的被遮挡的图片,你可以直接把这个状态的文档保存发我。
另外,纸张设置为A3可以用如下的代码
            PaperSize[] pslist = _textControl.GetSupportedPaperSizes();
            foreach (PaperSize ps in pslist)
            {
                if (ps.Name == "A3")
                {
                  _textControl.PageUnit = MeasuringUnit.Twips;
                  _textControl.PageSize = new PageSize(ps.Width,ps.Height);
                }

            }

yuningmeng 发表于 2018-5-4 10:47:19

本帖最后由 yuningmeng 于 2018-5-4 14:04 编辑

Richard.Ma 发表于 2018-5-4 10:21
还是没能重现你说的被遮挡的图片,你可以直接把这个状态的文档保存发我。
另外,纸张设置为A3可以用如下的 ...
保存为word用word打开就没问题了,不知道为什么用txwinform时候重叠了有问题了,那个设置页面大小的是直接设置的全部吗,在文件导入前还是后?对了txwinform支持xml文件的导入吗?还有就是如图缺少了什么,还有就是刚刚上个问的我设的页面大小为什么没有起作用,就是我设的高和宽,在tx里面显示的还是a4的210x297而我设置的是297x420.

图上的程序弄好了,我之前没有加前缀,不过直接设置页面大小可能是我这边有问题。

Richard.Ma 发表于 2018-5-4 14:33:48

您说的重叠应该是指图片左侧重叠进去一部分,图片比一列的宽度大,肯定有一部分会显示不出,至于说是显示哪一部分,在TX中可以对图片设置左对齐或右对齐,居中

如下图三张图片的区别,你应该就可以看清楚了,这个是在TX中可以设置,但是在word软件中没有,所以你觉得有差异



设置页面的确实是全部代码,WINFORM版本,您的是其他的平台的吗

页面大小也是我这样设置的,_textControl.PageSize = new PageSize(297,420);

yuningmeng 发表于 2018-5-4 14:42:14

本帖最后由 yuningmeng 于 2018-5-4 15:01 编辑

Richard.Ma 发表于 2018-5-4 14:33
您说的重叠应该是指图片左侧重叠进去一部分,图片比一列的宽度大,肯定有一部分会显示不出,至于说是显示哪 ...
textControl1.Sections.Add(TXTextControl.SectionBreakKind.BeginAtNewLine);
TXTextControl.SectionFormat currentFormat =textControl1.Sections.GetItem().Format;
currentFormat.PageSize.Width.CompareTo(297);
currentFormat.PageSize.Height.CompareTo(420);
之前这样写的有问题,用您给的那个选择A3的就没事情了不知道为啥.


刚刚又试了一下您给的新代码,直接写大小显示的不一样,比原来小,还有就是想要设置B5的话怎么弄。A3直接可以但是B5的的话那就不生效了。下面您给的代码我改成B5就有问题了。

[*]PaperSize[] pslist = _textControl.GetSupportedPaperSizes();
[*]            foreach (PaperSize ps in pslist)
[*]            {
[*]                if (ps.Name == "A3")
[*]                {
[*]                  _textControl.PageUnit = MeasuringUnit.Twips;
[*]                  _textControl.PageSize = new PageSize(ps.Width,ps.Height);
[*]                }
[*]
[*]            }

Richard.Ma 发表于 2018-5-4 17:30:20

貌似是没有B5的,你可以通过这个获取的PaperSize列表看下里面有哪些纸张格式 _textControl.GetSupportedPaperSizes();

页: [1]
查看完整版本: 分栏