国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#打印長字符串自動換行

2019-11-14 13:53:31
字體:
來源:轉載
供稿:網友

主要代碼如下:

StringFormat fmt = new StringFormat();fmt.LineAlignment = StringAlignment.Near;//左對齊fmt.FormatFlags = StringFormatFlags.LineLimit;//自動換行//設定文本打印區域 b是左上角坐標,Size是打印區域(矩形) float mmtopt = 2.835f; 單位換算,毫米*2.835=Point單位Rectangle r = new Rectangle(b, new Size(Convert.ToInt32(160 * mmtopt), Convert.ToInt32(100 * mmtopt)));                g.DrawString(tb.Text, titleFont, new SolidBrush(Color.Black), r, fmt);

主要原理就是先定義文本繪圖格式為自動換行,之后再制定文本繪圖區域為矩形而不僅僅是左上角坐標點。


下面是我做的一個自動套印固定表格的軟件的相關代碼:

if (tb.Text.Trim().Length < 28)//標題{    g.DrawString(tb.Text, textFont, new SolidBrush(Color.Black), b);}else{    StringFormat fmt = new StringFormat();    fmt.LineAlignment = StringAlignment.Near;//左對齊    fmt.FormatFlags = StringFormatFlags.LineLimit;//自動換行    //設定文本打印區域 b是左上角坐標,Size是打印區域(矩形) float mmtopt = 2.835f;    Rectangle r = new Rectangle(b, new Size(Convert.ToInt32(160 * mmtopt), Convert.ToInt32(100 * mmtopt)));    r.Y = r.Y - Convert.ToInt32(2 * mmtopt);    Font titleFont = new Font(new FontFamily("仿宋"), 13, GraphicsUnit.Point);    g.DrawString(tb.Text, titleFont, new SolidBrush(Color.Black), r, fmt);}

功能就是如果少于28子,使用默認字體打印內容,如果字數過多,則縮小字體,稍微向上修改下打印坐標,自動換行打印。

還是會出現之要一行但是用小字體的情況,但是只要縮小字體這個情況就不可能避免。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太和县| 巩留县| 电白县| 明溪县| 鄱阳县| 柘荣县| 黎城县| 尚义县| 望奎县| 永善县| 崇礼县| 伊宁县| 隆尧县| 平遥县| 百色市| 衡阳市| 沙洋县| 罗江县| 肥城市| 深泽县| 丰镇市| 攀枝花市| 绵阳市| 称多县| 凤台县| 乌鲁木齐县| 龙州县| 来宾市| 杭锦后旗| 平武县| 栖霞市| 乌拉特后旗| 宜宾县| 资溪县| 奉新县| 九龙县| 福清市| 镇康县| 景洪市| 梧州市| 习水县|