基于c的asp.net程序设计,基于html的软件开发

中国论文网 发表于2024-04-12 17:25:12 归属于电子论文 本文已影响477 我要投稿 手机版

       今天中国论文网小编为大家分享毕业论文、职称论文、论文查重、论文范文、硕博论文库、论文写作格式等内容.                    

摘 要:

关键词:c#;button;usercontrol 一、概述:   有时Visual Studio提供的控件不能满足用户的需求,此时我们可以去购买第三方控件,但是一些简单的控件我们完全可以自己制作出来,接下来,我们将自己动手制作一个圆形的button控件,它实现了button控件所需要具有的几乎全部特性。Control是定义控件的基类,控件是带有可视化表示形式的组件。所以我们让RoundButton继承自Control,且实现IButtonControl接口,IButtonControl接口将允许控件在窗体上的作用就像按钮一样。类关系图如图1-1所示。 图1-1 图1-2 图1-3 图1-4 代码实现: 1. 字段的设置   public class RoundButton : Control, IButtonControl    {    private ButtonState myButtonState;    private DialogResult myDialogResult;    private bool IsDefault { get; set; }    //...other method   } 2. Button外观的的绘制 protected override void OnPaint(PaintEventArgs e) { t(e); PaintStandart(cs); } private void PaintStandart(Graphics g) { ingMode = ias;//指定消除锯齿的呈现。 Rectangle rect = new Rectangle(2, 2, - 4, - 4); if (d) { e(-2, -2); DrawFocus(g); } PaintButtonBackGround(); Draw3DBorder(rect, g); DrawText(rect, g); } private void PaintButtonBackGround() { GraphicsPath myPath = new GraphicsPath(); ipse(0, 0, , ); Region myRegion = new Region(myPath); = myRegion; } private void Draw3DBorderPushed(Rectangle rect, Graphics g) { using (Pen myPen = new Pen(lDarkDark, 3)) { lipse(myPen, rect); } } private void Draw3DBorder(Rectangle rect, Graphics g) { if (myButtonState == ) Draw3DBorderPushed(rect, g); else Draw3DBorderNormal(rect, g); } private void Draw3DBorderNormal(Rectangle rect, Graphics g) { LinearGradientBrush myBrush = new LinearGradientBrush(rect, , , dDiagonal); using (Pen myPen = new Pen(myBrush, 3)) { lipse(myPen, rect); } } private void DrawFocus(Graphics g) { Rectangle myRect = new Rectangle(1, 1, - 2, - 2); using (Pen myPen = new Pen()) { lipse(myPen, myRect); } } private void DrawText(Rectangle rect, Graphics g) { StringFormat myFormat = new StringFormat(); ent = ; ignment = ; if (d) { (1, 1); ring(, , new SolidBrush(lor), rect, myFormat); } else { (1, 1); ring(, , new SolidBrush(), rect, myFormat); (-1, -1); ring(, , new SolidBrush(xt), rect, myFormat); } } 3. IButtonControl接口的实现 [Category(""Behavior""), DefaultValue()] public virtual DialogResult DialogResult { get{ return myDialogResult;} set{myDialogResult = value;} } public void NotifyDefault(bool value) { if (ult != value) ult = value; if (ult == true) (); else Focus(); } public void PerformClick() { if (ect) k(); } protected override void OnClick(EventArgs e) { k(e); ((Form)elControl).DialogResult = myDialogResult; } 二、总结:   本文通过一个简单的例子起到抛砖引玉的作用,依照这些步骤,大家完全可以制作出属于自己的更有个性的button。用户界面由各种控件组成,应用自制的控件将会使用户界面更为丰富,使他人眼前一亮。

  中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。

返回电子论文列表
展开剩余(