国产探花免费观看_亚洲丰满少妇自慰呻吟_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子,使用默認字體打印內容,如果字數過多,則縮小字體,稍微向上修改下打印坐標,自動換行打印。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗城| 荃湾区| 育儿| 万荣县| 鄂温| 清水河县| 九江县| 博爱县| 桃源县| 耒阳市| 新闻| 长丰县| 宁晋县| 永善县| 景东| 万全县| 乌鲁木齐县| 廉江市| 绥德县| 新闻| 江西省| 东丽区| 开江县| 虹口区| 栾城县| 海伦市| 崇州市| 申扎县| 伊金霍洛旗| 桐庐县| 恩平市| 浏阳市| 龙门县| 河源市| 临高县| 永安市| 旬阳县| 大安市| 平湖市| 杨浦区| 太原市|