生活随笔
收集整理的這篇文章主要介紹了
                                
C# Winform编程之Button
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            ?參考了這篇文章:
 http://www.cnblogs.com/qianlifeng/archive/2010/04/13/1710869.html
 ?
 我的代碼:
 JButton.cs
 using?System;?using?System.Collections.Generic;?using?System.ComponentModel;?using?System.Drawing;?using?System.Data;?using?System.Linq;?using?System.Text;?using?System.Windows.Forms;?using?System.Reflection;??namespace?JiaYiControls?{?????[DefaultEvent("Click")]?????public?partial?class?JButton?:?UserControl?????{?????????private?Image?_normalImage?=?null;?????????private?Image?_hoverImage?=?null;?????????private?Image?_downImage?=?null;??????????public?JButton()?????????{?????????????_normalImage=Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream(@"JiaYiControls.assert.button.normal.bmp"));?????????????(_normalImage?as?Bitmap).MakeTransparent(Color.FromArgb(255,?0,?255));?????????????_hoverImage?=?Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream(@"JiaYiControls.assert.button.hover.bmp"));?????????????(_hoverImage?as?Bitmap).MakeTransparent(Color.FromArgb(255,?0,?255));?????????????_downImage?=?Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream(@"JiaYiControls.assert.button.down.bmp"));?????????????(_downImage?as?Bitmap).MakeTransparent(Color.FromArgb(255,?0,?255));??????????????InitializeComponent();?????????????this.BackgroundImage?=?_normalImage;?????????}??????????[Category("JiaYiControls")]?????????public?Image?NormalImage?????????{?????????????get?{?return?_normalImage;?}?????????????set?{?_normalImage?=?value;?}?????????}??????????[Category("JiaYiControls")]?????????public?Image?HoverImage?????????{?????????????get?{?return?_hoverImage;?}?????????????set?{?_hoverImage?=?value;?}?????????}??????????[Category("JiaYiControls")]?????????public?Image?DownImage?????????{?????????????get?{?return?_downImage;?}?????????????set?{?_downImage?=?value;?}?????????}??????????[Category("JiaYiControls")]?????????public?string?Caption?????????{?????????????get?{?return?this.label1.Text;?}?????????????set?{?this.label1.Text?=?value;?}?????????}??????????private?void?label1_Click(object?sender,?EventArgs?e)?????????{?????????????this.OnClick(e);?????????}??????????private?void?label1_MouseUp(object?sender,?MouseEventArgs?e)?????????{?????????????this.BackgroundImage?=?_normalImage;?????????}??????????private?void?label1_MouseDown(object?sender,?MouseEventArgs?e)?????????{?????????????this.BackgroundImage?=?_downImage;?????????}??????????private?void?label1_MouseHover(object?sender,?EventArgs?e)?????????{?????????????this.BackgroundImage?=?_hoverImage;?????????}??????????private?void?label1_MouseLeave(object?sender,?EventArgs?e)?????????{?????????????this.BackgroundImage?=?_normalImage;?????????}???????}?}? 設計器產生的代碼:
 ?
 namespace?JiaYiControls?{?????partial?class?JButton?????{????????????????????????????????????private?System.ComponentModel.IContainer?components?=?null;??????????????????????????????????????????????protected?override?void?Dispose(bool?disposing)?????????{?????????????if?(disposing?&&?(components?!=?null))?????????????{?????????????????components.Dispose();?????????????}?????????????base.Dispose(disposing);?????????}??????????#region?組件設計器生成的代碼??????????????????????????????????????????????private?void?InitializeComponent()?????????{?????????????this.label1?=?new?System.Windows.Forms.Label();?????????????this.SuspendLayout();????????????????????????????????????????????????????this.label1.BackColor?=?System.Drawing.Color.Transparent;?????????????this.label1.Dock?=?System.Windows.Forms.DockStyle.Fill;?????????????this.label1.Location?=?new?System.Drawing.Point(0,?0);?????????????this.label1.Name?=?"label1";?????????????this.label1.Size?=?new?System.Drawing.Size(78,?30);?????????????this.label1.TabIndex?=?0;?????????????this.label1.Text?=?"label1";?????????????this.label1.TextAlign?=?System.Drawing.ContentAlignment.MiddleCenter;?????????????this.label1.MouseLeave?+=?new?System.EventHandler(this.label1_MouseLeave);?????????????this.label1.Click?+=?new?System.EventHandler(this.label1_Click);?????????????this.label1.MouseDown?+=?new?System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);?????????????this.label1.MouseHover?+=?new?System.EventHandler(this.label1_MouseHover);?????????????this.label1.MouseUp?+=?new?System.Windows.Forms.MouseEventHandler(this.label1_MouseUp);????????????????????????????????????????????????????this.AutoScaleDimensions?=?new?System.Drawing.SizeF(6F,?12F);?????????????this.AutoScaleMode?=?System.Windows.Forms.AutoScaleMode.Font;?????????????this.BackColor?=?System.Drawing.Color.Transparent;?????????????this.BackgroundImageLayout?=?System.Windows.Forms.ImageLayout.Stretch;?????????????this.Controls.Add(this.label1);?????????????this.Name?=?"JButton";?????????????this.Size?=?new?System.Drawing.Size(78,?30);?????????????this.ResumeLayout(false);??????????}??????????#endregion??????????private?System.Windows.Forms.Label?label1;?????}?}? ?
 ?
 只是測試用的代碼而已。
 注意在ps里圖片,透明部分,這里顏色是RGB(255,0,255).
 ?
 測試下控件:
 ?
  ?
 
 
轉載于:https://blog.51cto.com/xcf007/432867
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
                            
總結
                            
                                以上是生活随笔為你收集整理的C# Winform编程之Button的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。