以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  TEXTBOX负值颜色问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128337)

--  作者:douglas738888
--  发布时间:2018/12/4 12:43:00
--  TEXTBOX负值颜色问题

请教老师,控件TEXTBOX如果是负值(例如:-1200.00)已经设了字体颜色为Red,格式符号设为#0.00后,打开窗口,控件里的数字还是自动默认为黑色

 

测试结果:如果控件里的数字是正值,字符能正常显示红色。如果格式符号不设置,打开窗口此控件内的负值能显示红色,但是如果数字变化后,又自动变为黑色。

 

想实现控件里的数值是负值时显示红色,应该怎样写代码

 

在AFTERLOAD写如下代码无效,在ValueChanged里写如下代码也无效

 

Dim tab As WinForm.TextBox = e.Form.Controls("TextBox22")
If tab.Value < 1 Then
    tab.ForeColor = Color.Red
End If

或者

Dim tab As WinForm.TextBox = e.Form.Controls("TextBox22")
    tab.ForeColor = Color.Red

 

 

 


--  作者:有点甜
--  发布时间:2018/12/4 14:39:00
--  

1、textbox我测试没问题;

 

2、如果是NumericComboBox1,afterload执行代码

 

Dim ww  = e.Form.Controls("NumericComboBox1").BaseControl

ww.ForeColor = Color.Blue

ww.NegativeForeColor = Color.red


--  作者:douglas738888
--  发布时间:2018/12/4 15:46:00
--  

请老师测试看看,问题未解决

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试20181204.foxdb


--  作者:有点甜
--  发布时间:2018/12/4 15:49:00
--  
Dim tab  = e.Form.Controls("TextBox1").basecontrol
tab.ForeColor = Color.Red
tab.NegativeForeColor = Color.red