如何用C#实现textbox中文字的字间距的调整(字高度不变,但宽窄变化)
如题,如同Word里的字体对话框中的字间距那一页。
希望实现限定一段文字的宽度,当文字字数越来越多时,文字高度不变,单个字的宽度越变越窄。
问题点数:0、回复次数:5Top
1 楼athossmth(athos)回复于 2005-04-01 12:40:12 得分 0
下面要学习的属性可以使你做到HTML标签做不到的事情:控制字间距及字母间距。
字间距
利用字间距属性,你可以在字之间加入更的距离:
H3 { word-spacing: 1em }
你所使用的参数值将加入任何浏览器的缺设置,你可以使用我们昨天谈到的任何种长度单位:
in (英寸)
cm (厘米)
mm (毫米)
pt (点数)
pc (打字机字间距)
em (ems)
ex (x-height)
px (象素)
以下为显示结果:
Behold the power of cheese.
如果你的浏览器不支持这种CSS属性,请点击这里查看显示效果。
如果你看不到任何不同之处,则说明你的览器不支持这种属性,只有MAC机用的IE4能支持这种字间距设置。
字母间距
字母间距可以在IE 4中应用,但Communicator不行,唉...
H3 { letter-spacing: 10px }
字母间距的功能和字间距的很类似:其参值将被加入到浏览器的缺省设置中,你以使用上述任何一种长度单位。
如果你用的是IE 4,这里是一个例子:
Behold the power of cheese.
对于这两种属性,你都可以使用normal参数。从而使其按照浏览器的原有缺省设置显示。
别沮丧,还有很多CSS属性可以在两种浏览器上都可使用。
下文中就是一个例子。
行与行之间的距离最常用的称呼是行距,而当网页设计者们发现他们能够控制行距时最常用的称呼是"Weee!"
行高
行高简直是上帝发给人间的福音。利用行高我们可以随心所欲地控制行与行之间的垂直距离。
B { line-height: 16pt }
你所用的参数就是相邻两行的基准线(基准线就是英文小写字母如x,a的下阶线,但不包括诸如y,g等字母超过下阶线的部分)之间的垂直距离。注意你所设定的参数将完全代替浏览器的缺省参数。
Netscape Communitor和Internet Explorer在行之前加入行高参数。所以如果你将参数设为10px,浏览器将把文字的第1行以10px的高度显示。
有3种设定行高的方法:
数字
长度单位
比例
用数字设行距
B { font-size: 12pt;
line-height: 2 }
当你用数字设定行高的时候,浏览器将利用字号来确定行距:它将字号乘以设定的参数值。所以,在本例中,行高将是24点。显示效果如下:
Four score and seven years ago,
the Web wasn't yet a glimmer in
anyone's eye. No one needed it,
no one missed it. Eighty-seven
years from now, what will
people laugh at us for lacking?
你还可以用小数设定参数值。
(你应该知道IE 3 不支持数字参数值,在IE 3 中使用数字参数将出现大片文字的互相重叠。)
用长度单位设定行距
B { font-size: 12pt; line-height: 11pt }
设定行高的另一种方法就是利用先前学过的长度单位(em及pt是最常用的单位),以下为显示效果:
Four score and seven years ago,
the Web wasn't yet a glimmer in
anyone's eye. No one needed
it, no one missed it.
Eighty-seven years from now,
what will people laugh at us
for lacking?
你既可以轻松地将行距缩小也可以将行距放大。有了样式表,这一切都易如反掌!
用比例设定行距
B { font-size: 10pt; line-height: 140% }
在本例中,行距是长度10points的
Top
2 楼deyangwangyu(wangyu)回复于 2005-04-01 12:57:49 得分 0
upTop
3 楼littlepiglet(wenwen)回复于 2005-04-01 15:34:00 得分 0
谢谢,但我写的不是网页程序,就是很普通的那种,在一个
Form上放置一个textbox,这个textbox能实现调节字间距的功能,使其内的文字适应textbox的宽度Top
4 楼lawrence191(*_*学习中……)回复于 2005-04-01 16:16:40 得分 0
markTop
5 楼littlepiglet(wenwen)回复于 2005-04-12 16:37:17 得分 0
我自己解决了,建议大家看看GDI。Top




