窗体和控件的属性CreateParams(这真的是一个属性)很神奇,因为通过它你能够很方便的控制窗体或控件诸如边框.最大化最小化关闭按钮的隐藏.窗体的模式化弹窗模式等的一些特性.虽然,CreateParams有者如此巨大的潜力,但是在使用时要相当慎重,如果你不了解CreateParams这个属性的话,反而会是你在编写其他代码的时候非常疑惑. 引用MSDN中对CreateParams的说明: 在你开发的重载控件中不要重写这个属性,通过这个属性控制控件的某些风格.只有在你封装Windows控件或者想…
转载自:http://www.dotblogs.com.tw/rainmaker/archive/2012/02/22/69811.aspx 解决方案: 在调用用户控件的窗体里面添加一下代码: protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED return cp…
//C# WinForm 单例模式(例:同一个窗体只创建一次实例) //打开窗体的事件: Form3 f = Form3.InstanceObject() ; //实例化窗体 f.Focus(); //让窗体获得焦点 f.Show(); //显示窗体 //被打开的窗体: public partial class Form3 : Form { public Form3() { InitializeComponent(); } private static Form3 _instance; //创建…
一.基本概念 对于C++中经常出现的函数名称相同但是参数列表或者返回值不同的函数,主要存在三种情况: 1.函数重写(override) 函数重载主要实现了父类与子类之间的多态性,子类中定义与父类中名称和参数以及返回值都相同的虚函数. 1)重写的函数不能是static函数,必须是virtual函数,即函数在原始的基类中被声明为虚函数: 2)重写函数与基类函数分在两个类的声明和定义中,这也就导致二者的作用域不同: 3)重写函数的名称.参数列表以及返回值(即函数原型)都要与基类的函数相同: 4)重写函…
type  TForm1 = class(TForm)  private    { Private declarations }  public    { Public declarations }    procedure CreateParams(var Params: TCreateParams); override;  end; var  Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.Create…
技术看点 WinForm自定义控件的使用 WinForm单窗体应用如何模块化 需求及效果 又来一波 C# GDI自定义控件show .这个控件已经使用几年了,最近找出来重构一下.原来是没有边框的,那么导致导航的功能不是很突出.本来想加个效果:在执行单击时显示Loading动画,在执行完单击事件后恢复原样.这就是网页里见到的局部刷新,Ajax常用的场景.无奈要下班了,还没弄出来.需求来自几年前一个智能储物柜项目,人机界面有个美工设计好的效果图,为了省事和通用,需要一个透明的按钮来实现导航的任务.就…
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  准备工作 这个窗体继承子基类窗体FrmWithTitle,如果你对FrmWithTitle还不了解,请移步 (二十四)c#Winform自定义控件-单标题窗体 查看 开始 添加一个Form,命名FrmW…
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  准备工作 这个窗体继承子基类窗体FrmWithTitle,如果你对FrmWithTitle还不了解,请移步 (二十四)c#Winform自定义控件-单标题窗体 查看 开始 添加一个Form,命名FrmW…
今天找到一个名叫LICEcap的录屏软件,录制界面是这样的:     这个炫酷的空心窗口就是镜头,调整好大小,然后对准需要录制的地方按下Record就可以生成gif了. 卧槽太NB了我也要做一个! 根据StackOverflow站的提示(在这里),我们需要使用一个在Windows2000及之后平台可用的,用以实现不规则窗体的分层窗口API (SetLayerWindowAttributes).根据百度我们先需要使用一个名为SetWindowLong的Win32 API来把窗体设定为分层窗体. 为…
一.重写(override) override是重写(覆盖)了一个方法,以实现不同的功能.一般是用于子类在继承父类时,重写(重新实现)父类中的方法. 重写(覆盖)的规则: 1.重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载. 2.重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private). 3.重写的方法的返回值必须和被重写的方法的返回一致: 4.重写的方法所抛出的异常必须和被重写方法的所抛出的异常…