难道世界上100米最快纪录就没有记录有关说鬼话的人的记录吗?他们作恶多端为什么没人管?

:转载时请以超链接形式标明文章原始出处和作者信息及本声明
如何将ritchtextbox文本框的属性变为只读的,请问有什么方法吗?我已经尝试过将readonly的属性改成true,但还是不可以。?不可以直接在属性里改吗?右键.属性.选上只读啊!
历史上的今天:
引用地址:
博客大巴模板设计: | 作者:日月&&&&素材来源:本帖子已过去太久远了,不再提供回复功能。c#(winform)
某些情况下,textbox设置为只读后,再textbox的前景色则不能正常显示,后来发现原来还需要设置text.backcolor的值,我们只需要把背景色更改下,然后运行程序,编译通过,前景色即可正常显示了。通过代码设置或者控件属性里修改都可以。呵呵,以后在遇到这种情况后,还是需要注意下,虽然是些很小的问题。
希望以后能和大家一起交流学习啊!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:792次
排名:千里之外C# textBox控件Enabled=false状态,设置字体显示为墨色_C#大全_优良自学吧 |
当前位置: >
> C# textBox控件Enabled=false状态,设置字体显示为墨色优良自学吧提供C# textBox控件Enabled=false状态,设置字体显示为墨色,C# textBox控件Enabled=false状态,设置字体显示为黑色我的程序是WindowsForm,在界面上有一个Panel,在Panel上又放了很多textBox控件与Lable控件等 当数据查询状态时,textBox控件Enabled=false,但字体变成灰C# textBox控件Enabled=false状态,设置字体显示为黑色我的程序是WindowsForm,在界面上有一个Panel,在Panel上又放了很多textBox控件与Lable控件等
当数据查询状态时,textBox控件Enabled=false,但字体变成灰色了,看不太清楚,设置字体颜色也不起作用;
this.textBox1.ForeColor&&=&System.Drawing.SystemColors.WindowT
如果设置this.textBox1.ReadOnly&=&虽然字体颜色是黑色了,但textBox1控件可以进入编辑状态,也不符合要求;
况且遍历Panel控件时,不能设置遍历过程中控件的ReadOnly属性.
不知道有没有办法解决:当this.textBox1.Enabled&=&时,字体颜色显示为黑色?------解决方案--------------------帮你顶下,顺便要点分------解决方案--------------------画底色------解决方案--------------------盖一层透明的panel上去------解决方案--------------------当数据查询状态时设置this.textBox1.ReadOnly&=&
当数据不查询状态时设置this.textBox1.ReadOnly&=&
行不------解决方案--------------------引用:当数据查询状态时设置this.textBox1.ReadOnly&=&
当数据不查询状态时设置this.textBox1.ReadOnly&=&
这样可以啊------解决方案--------------------
&&&&public&class&MyTextBox&:&TextBox
&&&&&&&&public&MyTextBox()
&&&&&&&&&&&&this.SetStyle(ControlStyles.UserPaint&------解决方案--------------------
&&&&&&&&&&&&&&&&ControlStyles.AllPaintingInWmPaint&------解决方案--------------------
&&&&&&&&&&&&&&&&ControlStyles.OptimizedDoubleBuffer,&true);
&&&&&&&&&&&&this.UpdateStyles();
&&&&&&&&protected&override&void&OnPaint(PaintEventArgs&pevent)
&&&&&&&&&&&&TextRenderer.DrawText(pevent.Graphics,&this.Text,&this.Font,&new&Point(2,&2),&this.ForeColor);
------解决方案--------------------引用:引用:
public&class&MyTextBox&:&TextBox
public&MyTextBox()
this.SetStyle(ControlStyles.UserPaint&------解决方案--------------------
ControlStyles.AllPaintingInWmPaint&------解决方案--------------------……
我提到的需要实现了,但新的问题出现了,在控件上录入……
只是示例,你自己变通一下
class&MyTextBox:TextBox
&&&&&&&&protected&override&void&OnEnabledChanged(EventArgs&e)
&&&&&&&&&&&&base.OnEnabledChanged(e);
&&&&&&&&&&&&this.SetStyle(ControlStyles.UserPaint&------解决方案--------------------
&&&&&&&&&&&&&&&&ControlStyles.AllPaintingInWmPaint&------解决方案--------------------
&&&&&&&&&&&&&&&&ControlStyles.OptimizedDoubleBuffer,&!this.Enabled);
&&&&&&&&&&&&this.UpdateStyles();
&&&&&&&&protected&override&void&OnPaint(PaintEventArgs&e)
&&&&&&&&&&&&if&(!this.Enabled)
&&&&&&&&&&&&&&&&TextRenderer.DrawText(e.Graphics,&this.Text,&this.Font,new&Point(-1,1),&this.ForeColor);
&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&base.OnPaint(e);
------解决方案--------------------引用:为什么我设置控件Enabled&=&false时,控件四边出现白边呢?
我在win7下看到的边框和Enable=true时一样,不是白边。你可以重绘一下TextBox:
TextBoxRenderer.DrawTextBox(e.Graphics,&this.Bounds,&System.Windows.Forms.VisualStyles.TextBoxState.Readonly);
if&(!this.Enabled)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&TextBoxRenderer.DrawTextBox(e.Graphics,&this.Bounds,&System.Windows.Forms.VisualStyles.TextBoxState.Readonly);
&&&&&&&&&&&&&&&&TextRenderer.DrawText(e.Graphics,&this.Text,&this.Font,&new&Point(-1,&1),&this.ForeColor);
&&&&&&&&&&&&}
&&&&&&&&&&&&else
&&&&&&&&&&&&&&&&base.OnPaint(e);
(本文来自互联网,不代表搜站(/)的观点和立场)本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(),我们会及时处理和回复,谢谢编辑推荐最近更新5750人阅读
Winforms技术(23)
一、问题描述
当一个TextBox的ReadOnly属性设为true的时候,我们不管怎么改变ForeColor,该TextBox的字体颜色都不发生改变。
二、问题重现
1.新建一个Winforms工程;
2.从工具箱里拖拽一个TextBox到Form1上;
3.在属性框里,把textBox1的ReadOnly属性设为true;
4.在属性框里,把textBox1的Text属性设为一个非空字符串;
5.在属性框里,改变textBox1的ForeColor属性。
我们可以注意到尽管我们改变了textBox1的ForeColor属性,显示的字体颜色并没有发生变化。
三、原因分析
在Winforms里TextBox控件是在响应消息WM_CTLCOLOREDIT的时候的时候,把颜色ForeColor通过API SetTextColor设置为字体颜色。在中,有这样一句话:
Read-only or disabled edit controls do not send the
instead, they send the
当我们把一个TextBox设为只读时,Windows将不再发送消息WM_CTLCOLOREDIT给它。但该TextBox将收到消息WM_CTLCOLORSTATIC。在TextBox对消息WM_CTLCOLORSTATIC的响应函数里,Winforms并没有调用SetTextColor把ForeColor设置为字体颜色。也就是说,当一个TextBox为只读时,它的字体颜色不是由Winforms设定的,而是由Windows设置为黑色。因此无论我们怎么修改一个只读TextBox的ForeColor颜色,它的字体颜色都不发生改变。
四、类似现象
如果把一个Button的FlatStyle属性设为System,然后当我们在试图去修改BackColor的时候,我们发现该Button的背景颜色也不发生改变。原因与上面提到的类似,详情请参考。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:357367次
积分:4534
积分:4534
排名:第5228名
原创:52篇
评论:703条
(3)(5)(2)(1)(1)(1)(1)(1)(2)(1)(1)(2)(5)(4)(1)(3)(5)(1)(2)(4)(1)(2)(1)(4)

我要回帖

更多关于 世界上100米最快纪录 的文章

 

随机推荐