c#控件重绘的问题

1.当Panel有背景图像的时候,往Panel添加控件(带图像),画面会非常闪烁,所以,Panel尽量不要带背景图像

2.带背景图像可以参考designer.cs里面的写法。。。

添加Control之前

this.panelContainer.SuspendLayout();
            this.panelBTL.SuspendLayout();
            this.SuspendLayout();

    .............添加控件代码

this.panelContainer.ResumeLayout(false);
            this.panelContainer.PerformLayout();
            this.panelBTL.ResumeLayout(false);
            this.ResumeLayout(false);
            this.PerformLayout();

时间: 2024-11-14 12:31:03

c#控件重绘的问题的相关文章

深入Windows窗体原理及控件重绘技巧

之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望这篇文章可以帮你解惑. 1.Windows窗体原理 首先,如果看过Win32 SDK编程的都知道Windows的三大核心系统:负责窗口对象产生和消息分发的USER模块,负责图像显示绘制的GDI模块,负责内存.进程.IO管理的KERNEL模块.试想象一下如何在一个像素阵列上产生窗口对象,其实就是使用G

阻止控件重绘

//控件重绘 [DllImport("USER32.DLL ", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool SendMessage( IntPtr hWnd, // 目标窗口句柄 int Msg, // 消息 bool wParam, // 第一个消息参数 false阻止 true不阻止 int lParam ); const int WM_GETTEXT =0x000B; SendM

控件重绘

1. 设置控件DrawMode属性为OwnerDrawFixed,编辑控件DrawItem事件 重绘tabControl--选项卡控件 string text = ((TabControl)sender).TabPages[e.Index].Text; SolidBrush brush = new SolidBrush(Color.Black); StringFormat sf = new StringFormat(StringFormatFlags.DirectionRightToLeft);

MFC控件重绘

MFC的一系列重绘控件: 如图所示: 示例下载地址:http://download.csdn.net/detail/qq_23992597/9510696

Qt5 UI信号、槽自动连接的控件重名

Qt5 UI信号.槽自动连接的控件重名 来源 http://blog.csdn.net/goldenhawking/article/details/51865909 对Qt5稍有熟悉的童鞋都知道信号.槽的自动连接机制.该机制使得qt designer 设计的UI中包含的控件,可以不通过显式connect,直接和cpp中的相应槽相关联.该机制的详细文章见 http://doc.qt.io/qt-5/designer-using-a-ui-file.html#automatic-connection

MFC Button控件自绘

文章参考地址:  http://blog.csdn.net/yue7603835/article/details/6649458    VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近再次看了学了一遍终于明白了一点   与大家分享下...       需要源代码的Q我 寻找一起学VC的朋友    比如说   我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进行修改但是对与 Button控件就不行了 ..   这时候我们要进行自

Button控件自绘

1. 派生CButton 2. 重写PreSubclassWindow函数,设置BS_OWNERDRAW属性 void CButtonEx::PreSubclassWindow() { // TODO: 在此添加专用代码和/或调用基类 UINT nStyle = GetButtonStyle(); SetButtonStyle(nStyle | BS_OWNERDRAW); CButton::PreSubclassWindow(); } 3. 重写DrawItem函数实现Button重绘 But

WPF控件自绘——基础,Control类的定义

用于记录自己的学习WPF控件,大神请飘过... [WPF控件类继承关系图] 所有可以自定义模版的控件都是从Control继承,所以我们来看看Contorl类里面到底有些什么.为以后的控件自定义模版做好准备.废话少说先来看看WPF中Control类的定义 1 namespace System.Windows.Controls 2 { 3 public class Control : FrameworkElement 4 { 5 public static readonly DependencyPr

Qt之控件重命名

现在的软件很多都支持双击重命名的操作,就像在windows下对某个文件夹重命名一样(如下图) 不巧之前也遇到过类似的设计问题,不过是在界面上对某个控件.现在整理一下,控件就用QPushButton来代替. 对一个Button双击重命名,其实总结起来就是一下几点: 1.鼠标双击开始重命名,也就是一个QLineEdit完全覆盖之前的Button 2.鼠标点击其他区域,退出重命名状态,保留之前的名字 3.按下键盘的回车键,完成重命名操作,显示新的名字 下面开始一步一步来. 首先第一点.一个Button