以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46700)
|
-- 作者:dqlgood
-- 发布时间:2014/2/27 11:24:00
-- [求助]
用代码如何在不改变字体大小的情况下增加下划线?Dim kaz As String = "Label01,Label02,Label03,Label04,Label05" For Each ka As String In kaz.split(",") e.form.Controls(ka).Font = New Font("宋体",9,FontStyle.Underline) Next 在Label01,Label02,Label03,Label04,Label05相同字体,相同字号的情况下可以,在不同字体或不同字号的情况下,如何独立设计Underline属性
|
-- 作者:Bin
-- 发布时间:2014/2/27 11:25:00
--
e.form.Controls(ka).Font = New Font(e.form.Controls(ka).Font.name,e.form.Controls(ka).Font.Size,FontStyle.Underline)
|
-- 作者:lsy
-- 发布时间:2014/2/27 11:30:00
--
以下是引用Bin在2014-2-27 11:25:00的发言: e.form.Controls(ka).Font = New Font(e.form.Controls(ka).Font.name,e.form.Controls(ka).Font.Size,FontStyle.Underline)
e.form.Controls(ka).Font = New Font(e.form.Controls(ka).Font.name,CSng(e.form.Controls(ka).Font.Size),FontStyle.Underline)
字体大小是变量的时候,要转换一下,不然的话,如果大小是小数,就会报错。
这是本人的教训。
[此贴子已经被作者于2014-2-27 11:30:50编辑过]
|
-- 作者:Bin
-- 发布时间:2014/2/27 11:32:00
--
多谢分享经验
|
-- 作者:dqlgood
-- 发布时间:2014/2/27 11:56:00
--
不行,如图 此主题相关图片如下:截图.png
此主题相关图片如下:截图1.png
|
-- 作者:Bin
-- 发布时间:2014/2/27 12:00:00
--
Dim fnt As New Font(e.form.Controls(ka).Font.name,CSng(e.form.Controls(ka).Font.Size),FontStyle.Underline)e.form.Controls(ka).Font=fnt
|
-- 作者:dqlgood
-- 发布时间:2014/2/27 14:08:00
--
还是不能收缩转换,最后如下修改解决了。Dim kaz As String = "Label01,Label02,Label03,Label04,Label05" For Each ka As String In kaz.split(",") Dim fnt As String = e.form.Controls(ka).Font.name Dim n As Object = e.form.Controls(ka).Font.Size e.form.Controls(ka).Font= New Font(fnt,n,FontStyle.Underline) Next
|
-- 作者:lsy
-- 发布时间:2014/2/27 14:54:00
--
本来是明白的,绕糊涂了:
控件变量字体名称、控件变量字体大小,都要转换:
Dim kaz As String = "Label01,Label02,Label03,Label04,Label05"
For Each ka As String In kaz.Split(",")
Dim fnt As New Font(CStr(e.Form.Controls(ka).Font.Name),CSng(e.Form.Controls(ka).Font.Size),FontStyle.Underline)
e.Form.Controls(ka).Font = fnt Next
[此贴子已经被作者于2014-2-27 15:06:12编辑过]
|
-- 作者:dqlgood
-- 发布时间:2014/2/27 17:36:00
--
1、Dim fnt As New Font(e.form.Controls(ka).Font.name,CSng(e.form.Controls(ka).Font.Size),FontStyle.Underline)
2、Dim fnt As New Font(CStr(e.Form.Controls(ka).Font.Name),CSng(e.Form.Controls(ka).Font.Size),FontStyle.Underline)
3、 Dim fnt As String = e.form.Controls(ka).Font.name Dim n As Object = e.form.Controls(ka).Font.Size e.form.Controls(ka).Font= New Font(fnt,n,FontStyle.Underline)
我是菜鸟,因“1”不能通过,又不了解"CSng”,"CStr”函数,故此没能写成“2”的正确方式; 采取了最笨的办法"3",先获取原数据再变换,经测试与“2”效果相同。 谢谢指点,又学了一招!
|