亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? checkboxex.cs

?? chaoshi guan li xitong
?? CS
字號:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Diagnostics;
using UtilityLibrary.General;
using UtilityLibrary.Win32;

namespace UtilityLibrary.WinControls
{
	
	/// <summary>
	/// Summary description for CheckBoxEx.
	/// </summary>
	[ToolboxItem(false)]
	public class CheckBoxEx : System.Windows.Forms.CheckBox
	{
		
		#region Class Variables
		const int CHECK_MARK_SIZE = 11;
		DrawState drawState = DrawState.Normal;
		Bitmap checkMarkChecked = null;
		Bitmap checkMarkUnchecked = null;
		Bitmap checkMarkHotChecked = null;
		Bitmap checkMarkHotUnchecked = null;
		Bitmap checkMarkDisableChecked = null;
		Bitmap checkMarkDisableUnchecked = null;
		Color oldHighLightColor = Color.Empty;
		Color oldControlDarkColor = Color.Empty;
		#endregion
		
		#region Constructors
		public CheckBoxEx()
		{
			// Our control needs to have Flat style set
			FlatStyle = FlatStyle.Flat;
			// Load checkmark bitmap
			checkMarkChecked = ResourceUtil.LoadBitmapResource(Type.GetType("UtilityLibrary.WinControls.CheckBoxEx"),
				                                "UtilityLibrary.Resources.Controls", "CheckMarkChecked");
			Debug.Assert(checkMarkChecked != null);
			checkMarkUnchecked = ResourceUtil.LoadBitmapResource(Type.GetType("UtilityLibrary.WinControls.CheckBoxEx"),
				                                "UtilityLibrary.Resources.Controls", "CheckMarkUnchecked");
			Debug.Assert(checkMarkUnchecked != null);
		}

		#endregion

		#region Overrides
		protected override void OnMouseEnter(EventArgs e)
		{
			// Set state to hot
			base.OnMouseEnter(e);
			drawState = DrawState.Hot;
			Invalidate();
		}

		protected override void OnMouseLeave(EventArgs e)
		{
			// Set state to Normal
			base.OnMouseLeave(e);
			if ( !ContainsFocus )
			{
				drawState = DrawState.Normal;
				Invalidate();
			}
		}
      
		protected override void OnGotFocus(EventArgs e)
		{
			// Set state to Hot
			base.OnGotFocus(e);
			drawState = DrawState.Hot;
			Invalidate();
		}
        
		protected override void OnLostFocus(EventArgs e)
		{
			// Set state to Normal
			base.OnLostFocus(e);
			drawState = DrawState.Normal;
			Invalidate();
		}

		protected override  void WndProc(ref Message m)
		{
			bool callBase = true;
						
			switch(m.Msg)
			{
				case ((int)Msg.WM_PAINT):
				{
					// Let the edit control do its painting
					base.WndProc(ref m);
					// Now do our custom painting
					DrawCheckBoxState(Enabled?drawState:DrawState.Disable);
					callBase = false;
				}
					break;
				default:
					break;
			}

			if ( callBase )
				base.WndProc(ref m);
		
		}

		#endregion

		#region Properties
		public new FlatStyle FlatStyle 
		{
			// Don't let the user change this property
			// to anything other than flat, otherwise
			// there would be painting problems
			get { return base.FlatStyle; } 
			set 
			{
				if ( value != FlatStyle.Flat )
				{
					// Throw an exception to tell the user
					// that this property needs to be "Flat" 
					// if he is to use this class
					string message = "FlatStyle needs to be set to Flat for this class";
					ArgumentException argumentException = new ArgumentException("FlatStyle", message);
					throw(argumentException);
				}
				else 
					base.FlatStyle = value;
			}
		}

		#endregion

		#region Implementation
		void DrawCheckBoxState(DrawState state)
		{
			// In case system colors has changed
			FilterImages();
			Rectangle rect = ClientRectangle;

			// Create DC for the whole edit window instead of just for the client area
			IntPtr hDC = WindowsAPI.GetDC(Handle);
			Rectangle checkMark = new Rectangle(rect.Left, rect.Top + (rect.Height-CHECK_MARK_SIZE)/2, 
				CHECK_MARK_SIZE, CHECK_MARK_SIZE);
			
			using (Graphics g = Graphics.FromHdc(hDC))
			{
				if ( state == DrawState.Normal )
				{
					// Draw normal black circle
					if ( Checked ) 
						g.DrawImage(checkMarkChecked, checkMark.Left, checkMark.Top);
					else
						g.DrawImage(checkMarkUnchecked, checkMark.Left, checkMark.Top);
				}
				else if ( state == DrawState.Hot )
				{
					if ( Checked ) 
						g.DrawImage(checkMarkHotChecked, checkMark.Left, checkMark.Top);
					else
						g.DrawImage(checkMarkHotUnchecked, checkMark.Left, checkMark.Top);
					
				}
				else if ( state == DrawState.Disable )
				{
					if ( Checked ) 
						g.DrawImage(checkMarkDisableChecked, checkMark.Left, checkMark.Top);
					else
						g.DrawImage(checkMarkDisableUnchecked, checkMark.Left, checkMark.Top);
				}
			}

			// Release DC
			WindowsAPI.ReleaseDC(Handle, hDC);
        }

		void FilterImages()
		{
			// Filter images only if the color information has
			// changed or if this is the first time we are getting it
			if ( oldHighLightColor == Color.Empty ||
				!(oldHighLightColor.R == ColorUtil.VSNetBorderColor.R && oldHighLightColor.G == ColorUtil.VSNetBorderColor.G
						 && oldHighLightColor.B == ColorUtil.VSNetBorderColor.B ) )
			{
				oldHighLightColor = ColorUtil.VSNetBorderColor;
				checkMarkHotChecked = DoFiltering(checkMarkChecked, Color.Black, ColorUtil.VSNetBorderColor);
				checkMarkHotUnchecked = DoFiltering(checkMarkUnchecked, Color.Black, ColorUtil.VSNetBorderColor);
 			}

			if ( oldControlDarkColor == Color.Empty ||
				!(oldHighLightColor.R == ColorUtil.VSNetBorderColor.R && oldHighLightColor.G == ColorUtil.VSNetBorderColor.G
				&& oldHighLightColor.B == ColorUtil.VSNetBorderColor.B ) )
			{
				oldControlDarkColor = SystemColors.ControlDark;
				checkMarkDisableChecked = DoFiltering(checkMarkChecked, Color.Black, SystemColors.ControlDark);
				checkMarkDisableUnchecked = DoFiltering(checkMarkUnchecked, Color.Black, SystemColors.ControlDark);
			}
		}

		Bitmap DoFiltering(Bitmap bitmap, Color oldColor, Color newColor)
		{
			Bitmap copy = (Bitmap)bitmap.Clone();
			for ( int i = 0; i < bitmap.Width; i++ )
			{
				for ( int j = 0; j < bitmap.Height; j++ )
				{
					Color currentPixel = copy.GetPixel(i, j);
					// Compare just RGB portion
					if ( currentPixel.R == oldColor.R && currentPixel.G == oldColor.G
						 && currentPixel.B == oldColor.B)
						copy.SetPixel(i, j, newColor);
				}
			}
			return copy;
		}

		#endregion
			
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电视剧免费观看| 欧美大胆人体bbbb| 美日韩黄色大片| 国产成人av电影在线观看| 日本aⅴ免费视频一区二区三区 | 欧美日韩成人激情| 欧美色手机在线观看| 欧美日韩卡一卡二| 欧美一卡二卡三卡四卡| 欧美一区二区三区在线观看| 911精品国产一区二区在线| 欧美日韩三级在线| 日韩一区二区三区四区五区六区| 88在线观看91蜜桃国自产| 欧美一级在线免费| 亚洲精品一线二线三线| 国产欧美日韩另类一区| 亚洲美女淫视频| 蜜臀久久久99精品久久久久久| 日本色综合中文字幕| 韩国女主播成人在线| 成人伦理片在线| 欧美日韩亚洲高清一区二区| 制服丝袜日韩国产| 中文天堂在线一区| 一区二区三区中文字幕电影| 亚洲成av人片一区二区三区| 精品写真视频在线观看| 9色porny自拍视频一区二区| 欧美亚洲另类激情小说| 精品国产91洋老外米糕| 中文字幕日韩av资源站| 免费精品视频在线| 99久久精品免费看国产| 日韩一级片网站| 亚洲免费在线观看视频| 精品一二三四区| 色老头久久综合| 久久久久久久电影| 亚洲高清免费视频| 大尺度一区二区| 日韩欧美在线观看一区二区三区| 亚洲欧洲www| 国产一区二区三区在线看麻豆| 色婷婷av一区二区| 久久久不卡影院| 青青草成人在线观看| 99免费精品在线观看| 日韩免费视频一区| 亚洲国产欧美在线人成| 成人国产精品免费观看| 日韩一级大片在线观看| 亚洲人成精品久久久久| 成人激情黄色小说| 久久久精品tv| 另类欧美日韩国产在线| 欧美日韩一区二区在线观看视频 | 在线看不卡av| 国产精品福利在线播放| 国产资源在线一区| 91精品福利在线一区二区三区 | 国产麻豆精品95视频| 在线不卡免费欧美| 亚洲成人综合在线| 欧美在线观看禁18| 亚洲欧美日韩国产手机在线| 国产xxx精品视频大全| 久久综合色8888| 久久电影国产免费久久电影 | 蜜桃视频第一区免费观看| 欧美三级视频在线观看| 亚洲欧美日韩国产手机在线| 成人高清av在线| 国产精品久久久一区麻豆最新章节| 精品一区二区三区免费视频| 精品久久久久久无| 国产在线观看免费一区| 久久久久久亚洲综合影院红桃 | 久久综合九色综合欧美就去吻| 日本不卡高清视频| 日韩视频免费观看高清在线视频| 亚洲成av人在线观看| 欧美二区三区的天堂| 蜜臀va亚洲va欧美va天堂| 日韩久久精品一区| 国产成人免费xxxxxxxx| 中文字幕一区二区三区不卡在线 | 国产在线播放一区| 国产无人区一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 免费在线观看一区| 91视频免费观看| 久久亚洲精品小早川怜子| 韩国av一区二区三区| 久久麻豆一区二区| 94-欧美-setu| 亚洲国产精品久久艾草纯爱| 91精品国产综合久久久久| 九一久久久久久| 国产精品嫩草久久久久| 91碰在线视频| 日韩成人一级片| 国产亚洲福利社区一区| 99热精品国产| 日日摸夜夜添夜夜添国产精品| 日韩欧美亚洲一区二区| 99久久亚洲一区二区三区青草| 一区二区欧美在线观看| 日韩美女在线视频| 97久久超碰国产精品电影| 婷婷综合五月天| 国产调教视频一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日韩精品视频网| 亚洲欧美怡红院| 精品国产免费视频| 在线视频亚洲一区| 精品一区二区国语对白| 亚洲成人自拍网| 中日韩av电影| 精品国产百合女同互慰| 色一区在线观看| 国产一区二区三区观看| 亚洲国产综合人成综合网站| 久久久另类综合| 欧美一区二区三区婷婷月色| 91蝌蚪国产九色| 麻豆一区二区三区| 亚洲美女免费视频| 久久久综合九色合综国产精品| 91黄视频在线| 国产成人在线电影| 激情偷乱视频一区二区三区| 亚洲一区欧美一区| 亚洲色图制服丝袜| 国产精品欧美综合在线| 日韩精品专区在线影院重磅| 欧美色欧美亚洲另类二区| 成人精品视频网站| 国产丶欧美丶日本不卡视频| 日日夜夜精品视频天天综合网| 亚洲精品老司机| 18涩涩午夜精品.www| 欧美不卡一区二区三区| 在线成人午夜影院| 日本高清免费不卡视频| 成人av小说网| 国产精品影视在线| 国产伦精品一区二区三区视频青涩| 性欧美疯狂xxxxbbbb| 一区二区成人在线| 亚洲欧美日韩国产另类专区| 亚洲女性喷水在线观看一区| 亚洲欧洲精品天堂一级| 中文字幕字幕中文在线中不卡视频| 久久综合狠狠综合久久激情 | 欧美日韩国产成人在线91| 91视频观看视频| 色综合久久66| 色久综合一二码| 91成人免费电影| 欧美久久久久免费| 欧美一区二区三区四区五区| 欧美一级在线免费| 久久综合一区二区| 国产精品三级视频| 亚洲日本电影在线| 亚洲18影院在线观看| 久久成人麻豆午夜电影| 国产**成人网毛片九色| 色综合天天天天做夜夜夜夜做| 日本高清免费不卡视频| 欧美日韩一区二区在线观看 | 91免费看`日韩一区二区| 色欧美片视频在线观看| 欧美老女人在线| 日韩精品专区在线影院重磅| 久久久蜜桃精品| 一区二区在线观看视频| 免费成人在线观看视频| 成人亚洲一区二区一| 色综合天天综合在线视频| 欧美日韩成人综合在线一区二区| 日韩精品影音先锋| 亚洲免费av网站| 狠狠色丁香久久婷婷综合丁香| av不卡在线播放| 日韩欧美成人一区| 亚洲男人的天堂一区二区| 人禽交欧美网站| av色综合久久天堂av综合| 欧美一区二视频| 国产精品久久久久久妇女6080 | 中文字幕视频一区二区三区久| 亚洲自拍都市欧美小说| 成人三级伦理片| 日韩一级二级三级精品视频| 亚洲激情校园春色| 久久er精品视频| 欧美午夜精品一区|