VB.NET TextBox的Enabled=false时,字体颜色不可改变

Kelvin峰 2008-09-28 10:38:51
在.NET当中,TextBox的Enabled=false的时候,上面字体的颜色不可改变,网上的很多方法都试过了,不好用,麻烦大家帮帮忙!
overrides OnPaint属性也不好用,请专家们帮忙解决!
解决后马上散分
...全文
792 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
josephSC 2008-09-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yanlongwuhui 的回复:]
http://topic.csdn.net/t/20031202/22/2520286.html#
[/Quote]

9楼的强啊,5年前的骨灰贴还能被你发掘出来...
yanlongwuhui 2008-09-28
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20031202/22/2520286.html#
JeffChung 2008-09-28
  • 打赏
  • 举报
回复

protected override void OnEnabledChanged(EventArgs e)
{
if (Enabled==false){
SetStyle(ControlStyles.UserPaint,true);
}
else{
SetStyle(ControlStyles.UserPaint,false);
}
base.OnEnabledChanged(e);
}
//重写OnPaint
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
if (Enabled==false){
pe.Graphics.FillRectangle(new SolidBrush(SystemColors.ControlLight),
pe.ClipRectangle);
//文字描画
int x=0,y=0;
Size s = pe.Graphics.MeasureString(Text,Font).ToSize();
x=Width-s.Width;
y=(Height-s.Height)/2;

pe.Graphics.DrawString(this.Text, this.Font, Brushes.Black , x, y);
}

}
chenlin012008 2008-09-28
  • 打赏
  • 举报
回复
可以改变背景的颜色...改为白色....就和READONLY一个样
Kelvin峰 2008-09-28
  • 打赏
  • 举报
回复
就是不知道怎么重写所以上网求助。。。。
Kelvin峰 2008-09-28
  • 打赏
  • 举报
回复
不要ReadOnly属性,我现在只想更改Enabled属性,用ReadOnly虽然可以实现,但不是我想要的
Forrest23 2008-09-28
  • 打赏
  • 举报
回复
感觉好像是不可以改变的~ReadOnly属性也是灰色
HALOcn 2008-09-28
  • 打赏
  • 举报
回复
重写TEXTBOX控件吧
ojekleen 2008-09-28
  • 打赏
  • 举报
回复
Enabled=false字体应该是灰色的,不可变的,如果和背景色太近可以改变背景色。
paulin 2008-09-28
  • 打赏
  • 举报
回复
Enabled=false 正常来说就是显示灰色,这个颜色挺友好的啊..
关注
IWAWWFY 2008-09-28
  • 打赏
  • 举报
回复
不清楚,学习了。
xiantao123 2008-09-28
  • 打赏
  • 举报
回复
我也遇到过这样的问题,后来也没解决
Ny-6000 2008-09-28
  • 打赏
  • 举报
回复
20031202


这么早就有解决方案了么?

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧