第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與空格字體相關的 C# 填充字符串

與空格字體相關的 C# 填充字符串

C#
侃侃爾雅 2021-11-07 20:22:43
我正在嘗試編寫一些可以填充字符串列表的東西,因此每個字符串的大小都相同用空格填充非常簡單,您只需獲得最大長度并用空格填充直到它們相等但是我的問題是字體不等寬。例如,如果我們有aa萬維網我們會用一個空格填充 aa 并得到aa萬維網因為這些字體不等寬,所以它們不起作用。我編寫了一個腳本,試圖計算有問題的字符串的物理大小并用空格填充直到大小相等。StreamReader sr = new StreamReader(@"C:\Users\ben.bodie\Desktop\FontPaddingTest.txt");        var lines = sr.ReadToEnd().Split(new string[] { Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries).ToList();        sr.Close();        sr.Dispose();        var max = 0;        var spacesize = TextRenderer.MeasureText(" ", new Font("Microsoft Sans Serif", 7.8f));        foreach (var line in lines)        {            var size = TextRenderer.MeasureText(line, new Font("Microsoft Sans Serif", 7.8f));            max = Math.Max(max, size.Width);        }        foreach(var line in lines)        {            var newline = line;            var size = TextRenderer.MeasureText(newline, new Font("Microsoft Sans Serif", 7.8f));            var width = size.Width;            int spacestoadd = 0;            while(max-10 > width)            {                newline = " " + newline;                width = width + spacesize.Width;                spacestoadd++;            }            dataGridView1.Rows.Add(newline, spacestoadd);        }但是,正如您所看到的,這不起作用任何想法,將不勝感激
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

您可以嘗試將 unicode 用于不同的Spaces,有些是完全通用的,與字體無關。


查看完整回答
反對 回復 2021-11-07
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

我已經對此進行了一些修補,并認為我已經修復了它


我沒有添加空間的大小,而是在添加空格的循環(huán)的每次迭代中重新計算大小


var newline = line;

            var size = TextRenderer.MeasureText(newline, new Font("Microsoft Sans Serif", 7.8f));

            var width = size.Width;

            int spacestoadd = 0;

            while(max-10 > width)

            {

                newline = " " + newline;

                 size = TextRenderer.MeasureText(newline, new Font("Microsoft Sans Serif", 7.8f));

                 width = size.Width;

                spacestoadd++;

            }

            dataGridView1.Rows.Add(newline, spacestoadd);

http://img1.sycdn.imooc.com//6187c54c00010e9507730410.jpg

查看完整回答
反對 回復 2021-11-07
  • 2 回答
  • 0 關注
  • 291 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號