c# 自定义控件 属性菜单 控件移动 闪烁
2014-10-23 14:07
330 查看
开发了一个自定义的Tree控件,但是放到大窗体上时,每个控件的移动效果特别明显,客户体验非常差。后来知道是因为图片重绘 的问题。附上解决的代码
public class BackgroundPanel : Panel
{
protected override void OnPaintBackground(PaintEventArgs e)
{
return;
}
protected override void OnPaint(PaintEventArgs e)
{
this.DoubleBuffered = true;
if (this.BackgroundImage != null)
{
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
e.Graphics.DrawImage(this.BackgroundImage, new System.Drawing.Rectangle(0, 0, this.Width, this.Height),
0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height,
System.Drawing.GraphicsUnit.Pixel);
}
base.OnPaint(e);
}
}
public class BackgroundPanel : Panel
{
protected override void OnPaintBackground(PaintEventArgs e)
{
return;
}
protected override void OnPaint(PaintEventArgs e)
{
this.DoubleBuffered = true;
if (this.BackgroundImage != null)
{
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
e.Graphics.DrawImage(this.BackgroundImage, new System.Drawing.Rectangle(0, 0, this.Width, this.Height),
0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height,
System.Drawing.GraphicsUnit.Pixel);
}
base.OnPaint(e);
}
}
相关文章推荐
- C# 自定义控件、用户控件、动态加载菜单按钮
- c#创建自定义控件在winform上添加该控件属性为空白
- C#为控件或自定义控件添加自定义属性,自定义事件
- asp.net(c#)页面加载时添加控件的属性和回车问题
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
- ASP.NET2.0自定义控件开发(4) ----给控件添加树状属性
- 为 asp.net 2.0 的菜单控件增加 target 属性
- 在写自定义控件时,如果控件某个属性允许被验证控件验证,需要注意微软在 WebUIValidation.js内的实现。
- 在C#中使用属性控件添加属性窗口
- asp.net(c#)页面加载时添加控件的属性和回车问题
- vs2003 asp.net中直接输出wml,并利用C#做动态页面的控制,不使用微软的移动控件
- 为ASP.NET 2.0菜单控件增加target属性
- 今天看了《自己动手用c#写控件》一文,写出了自己的源代码,但仍有属性不能立即问题。
- 在C#中使用属性控件添加属性窗口
- .net c#拖动控件,移动控件位置
- 移动控件闪烁
- C#的menuStrip(菜单)控件
- 在C#中使用属性控件添加属性窗口
- asp.net控件开发基础(6) ----------简单介绍自定义控件样式属性
- 在C#中使用属性控件添加属性窗口