台灣最大程式設計社群網站
線上人數
1496
 
會員總數:246049
討論主題:189633
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 如何取得字串寬度
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何取得字串寬度
價值 : 30 QP  點閱數:8931 回應數:17
樓主

faton
門外漢
0 82
1204 182
發送站內信

請問如何取得字串所佔用的寬度(Pix),而不是它的字元長度(Length)?
搜尋相關Tags的文章: [ 字串寬度 ] ,
本篇文章發表於2008-09-16 10:23
1樓
回應

達可達
檢舉此回應

本篇文章回覆於2008-09-16 10:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小朱
捐贈 VP 給 小朱 檢舉此回應
如果你是要求字串的像素寬的話,可以使用 Graphics.MeasureString()。
不過在 ASP.NET 中做這個好像沒有什麼意義吧,你是要自己 "繪" 出字串嗎?
本篇文章回覆於2008-09-16 11:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

faton
檢舉此回應
謝謝達可達大大,能不能使用vb或c#的語法,因為這項用途必須事先在伺服端執行判斷
本篇文章回覆於2008-09-16 11:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

達可達
檢舉此回應
上面是C#的語法呀^^|

本篇文章回覆於2008-09-16 13:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

faton
檢舉此回應
我依您的方式測試:


可能是您誤會在下的意思了,因為字串a1硍字串a2在TextBox所顯示的寬度並不一樣,但傳回的值都是4,在下想知道的是它們在頁面空間實際所佔用的寬度而不是它的字元數或位元數,因為同樣位元字母的寬度並不會一樣,如i跟W的寬度就差很多。
本篇文章回覆於2008-09-16 16:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

達可達
檢舉此回應
@_@| 這可能只能取最大的去乘 (應該只能這麼做)
如果真的有,那只能說..這真是太牛逼啦....
^^||
本篇文章回覆於2008-09-16 17:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

小朱
捐贈 VP 給 小朱 檢舉此回應
Graphics.MeasureString() ......
本篇文章回覆於2008-09-16 17:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

faton
檢舉此回應
回小羊大大的話:

#2.小弟是想在有限的網空間裡,容許使用者輸入最長的名稱,而不是用字元數或位元數來限制,如果使用字元數或位元數來限制,則會因為它的寬度不一致而破壞整個網頁畫面的編排

#7.請教您所提的Graphics.MeasureString() 要如何用呢?因為小弟怎麼使用它都Graphics是尚未宣告

不知道有哪位學長可以幫小弟這個忙..謝謝!
本篇文章回覆於2008-09-17 12:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

freexiaoyu
檢舉此回應
graphics g;
g.measurestring(string, font);

string str;
str = "string 测试!";
Font f = new Font("宋体", 12); //字体不同,测量的宽度不同
Graphics g = this.CreateGraphics();
SizeF siF = g.MeasureString(str, f);
MessageBox.Show(siF.Width);
MessageBox.Show(siF.Height);

本篇文章回覆於2008-09-17 13:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
最有價值解答

周小妍
檢舉此回應
你可以計算tag的長度就知道字串的寬度了
像這樣...

本篇文章回覆於2008-09-17 13:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

周小妍
檢舉此回應
補充一下
IE和FF的寬度會不同喔...
本篇文章回覆於2008-09-17 13:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

達可達
檢舉此回應
我講錯了^^|失禮了~
本篇文章回覆於2008-09-17 14:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

faton
檢舉此回應
可以用了,感謝周小妍學長跟各位學長熱心賜教!
本篇文章回覆於2008-09-17 15:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

faton
檢舉此回應
freexiaoyu 大大所提的可能是windows form 的物件,我試的結果都出現~不是WebControls的成肙
本篇文章回覆於2008-09-17 15:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

freexiaoyu
檢舉此回應
哦,成功就好,

我是大陆的
本篇文章回覆於2008-09-17 15:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.