请问winform里面的label可以用什么控件替代 在form里面 我要使用好多文字说名 但是label多了 每次重绘的时候 都好慢 而且刷屏的感觉 请问怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以用一个Control类或UserControl类来继承一个新的控件来代替Label控件,打开它的双缓冲绘制就行了,这样问题就会基本解决. 为什么要重绘label,label多了只是加载的时候会变慢,重绘的时候不要重绘label就可以了 label有属性可以禁止重绘吗? hbxtlhx(平民百姓) 可以给个具体的例子吗/ 谢谢 例子倒是有,但是用尽量少的控件才是减少"慢"的感觉的方法,但是我的意思的代码如下:public partial class LabelEx : Control{ public LabelEx() { this.DoubleBuffered = true; } protected override void OnPaintBackground(PaintEventArgs e) { if (this.DesignMode) { base.OnPaintBackground(e); } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Center; e.Graphics.FillRectangle(SystemBrushes.Control, this.ClientRectangle); e.Graphics.DrawString(this.Text, this.Font, SystemBrushes.ControlText, this.ClientRectangle, format); }} BeginInvoke的问题 小弟求大虾帮助 如何防止窗体被多次弹出? 多语言开发时AL.exe输出编译错 问个有点难度的问题 各位C#高手,请教一下什么叫精通C#,什么叫使用“面向对象”编程 如何获取dataGridView的行号 bin里面生成的不是dll文件,而是exe文件 如何判断一个EF对象的属性是否被赋值 在C#编程中如何使用链表 如何序列化一個sqlCommand? 高手来看一下,代码问题
public partial class LabelEx : Control
{
public LabelEx()
{
this.DoubleBuffered = true;
}
protected override void OnPaintBackground(PaintEventArgs e)
{
if (this.DesignMode)
{
base.OnPaintBackground(e);
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
StringFormat format = new StringFormat();
format.LineAlignment = StringAlignment.Center;
format.Alignment = StringAlignment.Center;
e.Graphics.FillRectangle(SystemBrushes.Control, this.ClientRectangle);
e.Graphics.DrawString(this.Text, this.Font, SystemBrushes.ControlText, this.ClientRectangle, format);
}
}