FastReport不通过触发文本框宽度改变字体大小

FastReport无法根据字数超出文本框高度而去改变字体大小,所以写了以下方法简单提供一个思路

 1     private void Text_AfterData(object sender, EventArgs e)
 2     {     
 3       double maxHeight=337;
 4       double txtHeight=((TextObject)sender).Height;
 5       
 6       if(txtHeight>maxHeight)
 7       {
 8         ((TextObject)sender).Font=new Font("Microsoft Sans Serif,",11,System.Drawing.FontStyle.Bold); 
 9         ((TextObject)sender).Height=(float)maxHeight; 
10       }  
11     }
12         

简单来说,逻辑为:

1.设置变量高度最大值,允许Text高度自适应,(CanGrow=true)
2.赋值后触发方法,检测是否高度的变化是否超出最大值,超出的话改变高度为最大值,并重新赋值字体设置

 

posted @ 2024-08-07 11:34  官方小可爱  阅读(449)  评论(0)    收藏  举报