700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

时间:2019-02-23 17:20:42

相关推荐

C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

导读部分

-------------------------------------------------------------------------------------------------------------

C#仿QQ皮肤-实现原理系列文章导航 最新版源码下载

/thread-2-1-1.html

本次是我们窗体实现的最后一节,在这里首先感谢大家的支持,今天所说一个用户控件EnterFrom1和窗体EntryForm其实是分别继承自基窗体FormBase与基用户控件FormBase1而来的,而其中EnterFrom1是继承的用户控件EnterUserControl 这个控件而来,而EnterUserControl 又是继承的Formbase1而得来的,具体关于这个控件和窗体的实现请大家参考相关的章节,而我们今天要实现的两个小东东,其实是最简单,因为在CS类里只要一行代码就OK了

实现的效果如下

EnterFrom1

publicpartialclassEnterFrom1:EnterUserControl

{

publicEnterFrom1()

{

InitializeComponent();

}

}

关键的代码就是第一行,继承一下EnterUserControl

这个用户控件就行了,而在InitializeComponent()方法中简单的数行代码就可以完全搞定了

代码 ///<summary>

///设计器支持所需的方法-不要

///使用代码编辑器修改此方法的内容。

///</summary>

privatevoidInitializeComponent()

{

ponentResourceManagerresources=ponentResourceManager(typeof(EnterFrom1));

this.SuspendLayout();

//

//pnlBackGroup

//

this.pnlBackGroup.BackgroundImage=((System.Drawing.Image)(resources.GetObject("pnlBackGroup.BackgroundImage")));

this.pnlBackGroup.Size=newSystem.Drawing.Size(723,496);

//

//EnterFrom1

//

this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);

this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;

this.Controls.Add(this.pnlBackGroup);

this.Name="EnterFrom1";

this.Size=newSystem.Drawing.Size(723,496);

this.Controls.SetChildIndex(this.pnlBackGroup,0);

this.ResumeLayout(false);

}

再来看一下EntryForm的实现吧,CS类

publicpartialclassEntryForm:FunctionFormBase

{

publicEntryForm()

{

InitializeComponent();

}

}

它的InitializeComponent()方法代码如下

代码 ///<summary>

///RequiredmethodforDesignersupport-donotmodify

///thecontentsofthismethodwiththecodeeditor.

///</summary>

privatevoidInitializeComponent()

{

ponentResourceManagerresources=ponentResourceManager(typeof(EntryForm));

this.SuspendLayout();

//

//ptbBottomMiddle

//

this.ptbBottomMiddle.BackgroundImage=((System.Drawing.Image)(resources.GetObject("ptbBottomMiddle.BackgroundImage")));

this.ptbBottomMiddle.Size=newSystem.Drawing.Size(951,37);

//

//pnlBackGroup

//

this.pnlBackGroup.BackgroundImage=((System.Drawing.Image)(resources.GetObject("pnlBackGroup.BackgroundImage")));

this.pnlBackGroup.Location=newSystem.Drawing.Point(2,31);

this.pnlBackGroup.Size=newSystem.Drawing.Size(967,430);

//

//EntryForm

//

this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);

this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;

this.ClientSize=newSystem.Drawing.Size(971,498);

this.Controls.Add(this.pnlBackGroup);

this.Location=newSystem.Drawing.Point(400,300);

this.Name="EntryForm";

this.Text="EntryForm";

this.Controls.SetChildIndex(this.pnlBackGroup,0);

this.ResumeLayout(false);

}

其实说白了这两个东西是一个实现原理不同只是一个是窗体,一个是用户控件而已,其它的差不是很大,相信以后他们两个是用的最多的窗体和用户控件,只要大家使用一定会慢慢的深入了解它们的。

我们实现原理这一块的就到这里了,下次就要到我们的框架的搭建了,呵呵,在这一块才是皮肤的核心东西,讲的是怎么样实现颜色,就是皮肤的转换,和使用,他们是用什么样的方式来实现的,在写的过程中我会一节一节的分析一下是怎么样实现的,我们都用到了那些GDI+方面的东西,用到了那些方面的Windows消息,和颜色和坐标的一些算法等等。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。