版主,我发现可以解释为什么设置失效的原因了:很可能是ScaleRule设置没有保存上的原因。理由是每次打印前把ScaleRule重新设置一下,设置就能正常,否则设置就会失效。
可以这样验证:把设置好格式的文件保存,然后重新打开,预览时,会发现设置失效,然后在预览前加上:
var prules = new SmartPrintRulesCollection();
prules.Add(new FarPoint.Win.Spread.BestFitColumnRule(FarPoint.Win.Spread.ResetOption.None));
prules.Add(new FarPoint.Win.Spread.ScaleRule(FarPoint.Win.Spread.ResetOption.None, 1f, 0.1f, 0.01f));
printInfo.SmartPrintRules = prules;
设置又能正常生效,进一步检查,发现刚打开的文件的ScaleRule属性并不是原来设置的值,怀疑是保存是没有正确保存所致。
需要说明的是,我是在版本提供的demo上验证的,直接设置然后立即预览,一切正常;一旦重新打开就会发现设置失效。 |