以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Label 字体颜色的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84527) |
-- 作者:凡夫俗子 -- 发布时间:2016/5/4 15:26:00 -- Label 字体颜色的问题 ElseIf dr("控件类型")="Label" Then Dim strFont As String = iif(dr.Isnull("字体"),"宋体",dr("字体")) Dim IntFontSize As Integer=iif(dr.Isnull("字体大小"),9,dr("字体大小")) Dim fnt As New Font(strFont,IntFontSize ,FontStyle.Bold) Dim HuaKj As WinForm.Label = pnl.Form.CreateControl(dr("控件名称") , ControlTypeEnum.Label) With HuaKj .BackColor = Color.Transparent .basecontrol.cursor=System.Windows.Forms.Cursors.sizeAll .text = dr("控件标题") .Font=fnt .ForeColor = Color.FromArgb(dr("字体颜色")) .SetBounds(dr("左"),dr("上"),dr("宽"),dr("高")) End With HuaMenu.AddControl(HuaKj) If dr("最底层")=True Then HuaKj.BackMost=True End If End If 这段代码 在某测试窗口里运行是正常的,Label 颜色有根据设置进行修改 但在另外一个窗口里,文字颜色打死都是黑色的,不随设置而改变 几乎同样的设置在设置 按钮控件标签的 文本字体颜色时又是生效的,为这样类似的问题 总是花费不少时间。 不知是何故。 |
-- 作者:大红袍 -- 发布时间:2016/5/4 15:46:00 -- 试试设置一下风格
HuaKj.VisualStyle = 0 HuaKj.ForeColor = Color.Red
实在不行的话,做个例子看看。 |
-- 作者:凡夫俗子 -- 发布时间:2016/5/4 16:23:00 -- Dim pnl As WinForm.Panel = e.Form.Controls("Panel1") Dim strFont As String = "宋体" Dim IntFontSize As Integer= 10 Dim fnt As New Font(strFont,IntFontSize ,FontStyle.Bold) Dim HuaKj As WinForm.Label = pnl.Form.CreateControl("KJ98888" , ControlTypeEnum.Label) With HuaKj .BackColor = Color.Transparent .basecontrol.cursor=System.Windows.Forms.Cursors.sizeAll .text = "我的测试文字" .Font=fnt .ForeColor = Color.FromArgb(-15666) .SetBounds(10,30,160,30) End With pnl.AddControl(HuaKj) 新建项目 这样用 颜色是可以设置的 HuaKj.VisualStyle = 0 这个用不了,提示Label控件 不支持此参数 |
-- 作者:大红袍 -- 发布时间:2016/5/4 16:40:00 -- 那你就AddControl后,再设置颜色等属性。
做个不行的例子上来看看。 |