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

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

?? simpleinputprovider.cs

?? 車間計劃管理 倉庫管理 工時管理
?? CS
字號:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace SimpleInput
{
	public delegate void TextChanged(object sender,EventArgs e);
	public delegate void AttachTextInput(object sender,string Text);

	public class SIItem
	{
		//public event ValueChanged ValueChanged;

		private int _ID;
		public int ID
		{
			get{return(_ID);}
			set
			{
				_ID=value;
				//if(this.ValueChanged!=null) this.ValueChanged();
			}
		}

		private string _Text;
		public string Text
		{
			get{return(_Text);}
			set
			{
				_Text=value;
				//if(this.ValueChanged!=null) this.ValueChanged();
			}
		}

		public SIItem(int ID,string Text)
		{
			this.ID=ID;
			this.Text=Text;
		}

		public SIItem(){}
	}


	/// <summary>
	/// 簡碼輸入控件
	/// </summary>
	public class SimpleInputProvider : System.Windows.Forms.UserControl
	{
		private bool FocuFlag=false;
		public event TextChanged Change;
		public event AttachTextInput AttachInput;

		private System.Windows.Forms.ComboBox InputList;
		private System.Windows.Forms.TextBox InputText;
		private System.Windows.Forms.Panel Shadow;
		/// <summary>
		/// 必需的設計器變量。
		/// </summary>
		private System.ComponentModel.Container components = null;

		public SimpleInputProvider()
		{
			// 該調用是 Windows.Forms 窗體設計器所必需的。
			InitializeComponent();
			// TODO: 在 InitComponent 調用后添加任何初始化

		}

		/// <summary>
		/// 清理所有正在使用的資源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if( components != null )
				{
					components.Dispose();
					if(this.InputList!=null) this.InputList.Dispose();
					if(this._SICollection!=null) this._SICollection.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region 組件設計器生成的代碼
		/// <summary>
		/// 設計器支持所需的方法 - 不要使用代碼編輯器 
		/// 修改此方法的內容。
		/// </summary>
		private void InitializeComponent()
		{
			this.InputList = new System.Windows.Forms.ComboBox();
			this.InputText = new System.Windows.Forms.TextBox();
			this.Shadow = new System.Windows.Forms.Panel();
			this.Shadow.SuspendLayout();
			this.SuspendLayout();
			// 
			// InputList
			// 
			this.InputList.Location = new System.Drawing.Point(24, 8);
			this.InputList.Name = "InputList";
			this.InputList.Size = new System.Drawing.Size(121, 20);
			this.InputList.TabIndex = 0;
			this.InputList.TabStop = false;
			this.InputList.DropDown+=new EventHandler(InputList_DropDown);
			// 
			// InputText
			// 
			this.InputText.AutoSize = false;
			this.InputText.BorderStyle = System.Windows.Forms.BorderStyle.None;
			this.InputText.Dock = System.Windows.Forms.DockStyle.Bottom;
			this.InputText.Location = new System.Drawing.Point(0, 11);
			this.InputText.Name = "InputText";
			this.InputText.Size = new System.Drawing.Size(112, 21);
			this.InputText.TabIndex = 1;
			this.InputText.Text = "";
			this.InputText.TextChanged += new System.EventHandler(this.InputText_TextChanged);
			this.InputText.GotFocus+=new EventHandler(InputText_GotFocus);
			this.InputText.LostFocus+=new EventHandler(InputText_LostFocus);
			this.InputText.KeyDown+=new KeyEventHandler(InputText_KeyDown);
			this.InputText.Click+=new EventHandler(InputText_Click);
			// 
			// Shadow
			// 
			this.Shadow.Controls.Add(this.InputText);
			this.Shadow.Location = new System.Drawing.Point(24, 32);
			this.Shadow.Name = "Shadow";
			this.Shadow.Size = new System.Drawing.Size(112, 32);
			this.Shadow.TabIndex = 2;
			// 
			// SimpleInputProvider
			// 
			this.Controls.Add(this.InputList);
			this.Controls.Add(this.Shadow);
			this.Name = "SimpleInputProvider";
			this.Size = new System.Drawing.Size(160, 72);
			this.Shadow.ResumeLayout(false);
			this.ResumeLayout(false);
			this.Load+=new EventHandler(SimpleInputProvider_Load);

		}
		#endregion

		private int Offset3DWidth=4;
		private int Offset3DHeight=4;
		private bool InternalChange=true;	//控件內部的TextChange,對外部加以屏蔽以免造成死循環
		private ArrayList Items;			//
		private const char KeyChar='*';		//通配符

		public BorderStyle BorderStyle
		{
			get{return(Shadow.BorderStyle);}
			set{Shadow.BorderStyle=value;}
		}

		private string _SIFieldID="ID";
		public string SIFieldID
		{
			get{return(_SIFieldID);}
			set{_SIFieldID=value;}
		}

		private string _SIFieldText="Name";
		public string SIFieldText
		{
			get{return(_SIFieldText);}
			set{_SIFieldText=value;}
		}

		private string _SIFieldSimpleInput="SimpleInput";
		public string SIFieldSimpleInput
		{
			get{return(_SIFieldSimpleInput);}
			set{_SIFieldSimpleInput=value;}
		}

		private DataTable _SICollection;
		public DataTable SICollection
		{
			get{return(_SICollection);}
			set{_SICollection=value;}
		}

		private bool _IsAttached;
		/// <summary>
		/// 是否已選中簡碼項目
		/// </summary>
		public bool IsAttached
		{
			get{return(_IsAttached);}
		}

		private string _Text;
		public override string Text
		{
			get{return(_Text);}
			set
			{
				_Text=value;
				InputText.Text=_Text;
			}
		}

		#region " 外觀 "
		protected override void OnResize(EventArgs e)
		{
			AlignObjects();
			base.OnResize(e);
		}

		protected override void OnMove(EventArgs e)
		{
			AlignObjects();
			base.OnMove (e);
		}

		protected override void OnForeColorChanged(EventArgs e)
		{
			InputText.ForeColor=this.ForeColor;
			base.OnForeColorChanged (e);
		}

		protected override void OnFontChanged(EventArgs e)
		{
			AlignObjects();
			base.OnResize(e);
		}

		protected override void OnBackColorChanged(EventArgs e)
		{
			AlignObjects();
			base.OnBackColorChanged(e);
		}

		private void AlignObjects()
		{
			InputList.Location=new Point(0,0);
			InputList.Width=this.Width;
			InputList.Font=this.Font;
			InputList.BackColor=this.BackColor;
			//固定為Combo的高度
			this.Height=InputList.Height;

			Shadow.Location=new Point(0,0);
			Shadow.Width=this.Width;
			Shadow.Height=this.Height;
			Shadow.BackColor=this.BackColor;
			Shadow.BringToFront();

			InputText.Anchor=AnchorStyles.None;
			InputText.Location=new Point(Offset3DWidth/2,Offset3DHeight/2);
			InputText.Width=Shadow.Width-Offset3DWidth-5;
			InputText.Height=Shadow.Height-Offset3DHeight;
			InputText.Anchor=AnchorStyles.Left|AnchorStyles.Right|AnchorStyles.Top|AnchorStyles.Bottom;
			InputText.Font=this.Font;
			InputText.BackColor=this.BackColor;
			InputText.BringToFront();
		}
		#endregion

		private void SimpleInputProvider_Load(object sender, EventArgs e)
		{
			Items=new ArrayList();
		}

		private void InputText_TextChanged(object sender, System.EventArgs e)
		{
			this.Text=InputText.Text;

			if(this.InternalChange) return;
			Items.Clear();
			Items=new ArrayList();
			DataRow[] drs=this.SICollection.Select(this.SIFieldSimpleInput+" like '"+this.Text+KeyChar+"'");
			foreach(DataRow dr in drs)
				Items.Add(new SIItem((int)dr[this.SIFieldID],(string)dr[this.SIFieldText]));
			
			if(Items.Count==0)
			{
				foreach(DataColumn col in this.SICollection.Columns)
				{
					if(col.DataType==typeof(string))
					{
						drs=this.SICollection.Select(col.ColumnName+"='"+this.Text+"'");
						if(drs.Length==1)
						{
							Items.Add(new SIItem((int)drs[0][this.SIFieldID],(string)drs[0][this.SIFieldText]));
						}
					}
				}
			}
			ShowDropDown();
			
			Change(this,new EventArgs());
		}

		private void InputText_GotFocus(object sender, EventArgs e)
		{
			ShowDropDown();
			//this.InputList.DroppedDown=this.FocuFlag;
			this.FocuFlag=false;
		}

		private void InputText_LostFocus(object sender, EventArgs e)
		{
			this.FocuFlag=InputList.DroppedDown;
			this.InputList.DroppedDown=false;
			ClipCursor(false);
		}

		private void InputText_KeyDown(object sender, KeyEventArgs e)
		{
			if(!CheckInit()) return;
			this.InternalChange=true;
			switch(e.KeyCode)
			{
				case(Keys.Up):
				{
					if(this.InputList.SelectedIndex>0) this.InputList.SelectedIndex-=1;
					e.Handled=true;
					break;
				}
				case(Keys.Down):
				{
					if(this.InputList.SelectedIndex<this.InputList.Items.Count-1) this.InputList.SelectedIndex+=1;
					e.Handled=true;
					break;
				}
				case(Keys.Enter):
				{
					ClipCursor(false);
					Attaching();
					break;
				}
				case(Keys.Escape):
				{
					this.InputList.DroppedDown=false;
					ClipCursor(false);
					break;
				}
				default:
				{
					this._IsAttached=false;
					this.InternalChange=false;
					break;
				}
			}
			OnKeyDown(new KeyEventArgs(e.KeyCode));
			OnKeyPress(new KeyPressEventArgs((char)e.KeyValue));
			OnKeyUp(new KeyEventArgs(e.KeyCode));
		}

		private void InputText_Click(object sender, EventArgs e)
		{
			ClipCursor(false);
			OnClick(new EventArgs());
		}

		private void ShowDropDown()
		{
			if(this.Items.Count==0)
			{
				this.InputList.DataSource=null;
				this.InputList.DroppedDown=false;
				ClipCursor(false);
				return;
			}
			if(!CheckInit()||this._IsAttached) return;
			this.InputList.DataSource=null;
			this.InputList.DataSource=this.Items;
			this.InputList.DisplayMember="Text";
			this.InputList.ValueMember="ID";
			if(this.InputList.Items.Count>0) this.InputList.SelectedIndex=0;
			this.InputList.DroppedDown=(this.Text!=null&&this.Text!=""&&Items.Count>0);
		}

		private void Attaching()
		{
			if(this.InputList.SelectedIndex<0) return;
			this.InternalChange=true;
			//this.RetVal=(SIItem)this.Items[this.InputList.SelectedIndex];
			this.Text=((SIItem)this.Items[this.InputList.SelectedIndex]).Text;
			this._IsAttached=true;
			this.InputList.DroppedDown=false;
			if(!this.InputText.Focused) this.InputText.Focus();
			this.InputText.SelectionStart=0;
			this.InputText.SelectionLength=this.InputText.Text.Length;
			this.InputList.DataSource=null;
			if(AttachInput!=null) this.AttachInput(this,this.Text);
		}

		private bool CheckInit()
		{
			return(this.SICollection!=null&&
				this.SIFieldID!=null&&this.SIFieldID!=""&&
				this.SIFieldSimpleInput!=null&&this.SIFieldSimpleInput!=""&&
				this.SIFieldText!=null&&this.SIFieldText!="");
		}

		private void InputList_DropDown(object sender, EventArgs e)
		{
			ClipCursor(true);
		}

		private void ClipCursor(bool LockFlag)
		{
			if(LockFlag)
				Cursor.Clip=this.RectangleToScreen(this.InputText.Bounds);
			else
				Cursor.Clip=Screen.PrimaryScreen.Bounds;
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品久久久久久久99蜜桃| 色成年激情久久综合| 国产精品电影一区二区三区| 波多野结衣中文一区| 亚洲综合精品自拍| 精品国产乱码久久久久久1区2区| 高清免费成人av| 亚洲小少妇裸体bbw| 8x福利精品第一导航| 成人午夜免费电影| 蜜臀精品一区二区三区在线观看| 国产女人水真多18毛片18精品视频| 欧美影院一区二区| 国产一区二区三区四区五区美女 | 粉嫩av一区二区三区粉嫩| 国产精品人妖ts系列视频| 91麻豆精品91久久久久久清纯| 国产精选一区二区三区| 亚洲福利一区二区| 国产精品欧美一区二区三区| 51午夜精品国产| 91亚洲国产成人精品一区二区三 | 国产精品毛片无遮挡高清| 欧美精品亚洲一区二区在线播放| 粉嫩久久99精品久久久久久夜| 天天色综合天天| 亚洲视频一区二区在线| 欧美成人女星排名| 欧美日韩精品是欧美日韩精品| 国产二区国产一区在线观看| 免费在线看成人av| 欧美高清在线视频| 精品动漫一区二区三区在线观看| 欧美视频在线观看一区二区| 99亚偷拍自图区亚洲| 国产精品主播直播| 美女脱光内衣内裤视频久久影院| 亚洲黄色在线视频| 综合在线观看色| 国产午夜精品久久| 26uuu国产在线精品一区二区| 4438亚洲最大| 欧美精品视频www在线观看| 在线一区二区观看| av在线播放成人| 粉嫩久久99精品久久久久久夜| 激情欧美一区二区| 肉丝袜脚交视频一区二区| 一区二区久久久久| 国产精品―色哟哟| 中文字幕免费不卡| 亚洲国产精品精华液ab| 国产欧美日韩三级| 久久久久97国产精华液好用吗| 精品久久久网站| 精品久久久三级丝袜| 欧美一级二级三级乱码| 日韩午夜激情免费电影| 欧美v日韩v国产v| 欧美成人猛片aaaaaaa| 久久综合久久久久88| 2017欧美狠狠色| 久久久亚洲国产美女国产盗摄| 精品国产髙清在线看国产毛片| 精品人伦一区二区色婷婷| 日韩视频一区二区| 久久综合色8888| 国产欧美日韩亚州综合 | 中文字幕一区二区三区av| 中文字幕在线观看不卡| 亚洲欧美另类图片小说| 国产精品免费aⅴ片在线观看| 国产性天天综合网| 亚洲欧美怡红院| 亚洲午夜羞羞片| 日韩av不卡一区二区| 国内精品久久久久影院色| 国产精品99久久久久久有的能看 | 国产成人在线色| av电影一区二区| 波多野结衣中文字幕一区| 一本到不卡精品视频在线观看| 99精品在线免费| 精品视频免费在线| 欧美成人国产一区二区| 日本一区二区在线不卡| 亚洲免费观看高清| 免费在线视频一区| 成人精品国产免费网站| 色综合天天视频在线观看 | 99久久精品免费看国产| 在线观看日韩av先锋影音电影院| 911精品国产一区二区在线| 精品日韩欧美在线| 最新日韩在线视频| 日韩福利视频网| 丁香天五香天堂综合| 在线精品视频一区二区三四| 国产欧美一区二区三区鸳鸯浴| 日韩中文字幕一区二区三区| 99re这里都是精品| 国产欧美精品在线观看| 老司机免费视频一区二区 | 色综合久久综合网欧美综合网| 欧美一区二区三区免费| 亚洲综合色视频| 97精品电影院| 欧美经典一区二区| 久久精品久久精品| 在线综合+亚洲+欧美中文字幕| 亚洲视频一区在线| 成人免费视频一区二区| 国产亚洲午夜高清国产拍精品| 老色鬼精品视频在线观看播放| 欧洲国产伦久久久久久久| 国产精品免费网站在线观看| 经典三级一区二区| 日韩欧美一区二区在线视频| 亚洲色图清纯唯美| hitomi一区二区三区精品| 久久久久一区二区三区四区| 九色|91porny| 日韩欧美一区二区视频| 日韩精品一区第一页| 欧美制服丝袜第一页| 亚洲欧美日韩系列| 91麻豆国产精品久久| 国产精品久久久久毛片软件| 成人av动漫在线| 国产精品乱人伦中文| av不卡在线观看| 亚洲欧美日韩一区| 91福利资源站| 亚洲国产精品久久人人爱蜜臀| 在线视频你懂得一区二区三区| 亚洲永久免费av| 欧美日韩三级视频| 日日夜夜精品免费视频| 日韩一级片在线观看| 久久精品国内一区二区三区| 久久伊人中文字幕| 国产jizzjizz一区二区| 国产精品国产精品国产专区不片| 成人自拍视频在线| 亚洲色欲色欲www在线观看| 色综合久久中文字幕| 亚洲一区二区五区| 6080国产精品一区二区| 麻豆精品在线看| 久久免费视频一区| 丁香六月综合激情| 亚洲男同性视频| 精品婷婷伊人一区三区三| 美女高潮久久久| 亚洲国产精品99久久久久久久久| 99久久er热在这里只有精品15| 亚洲一区视频在线观看视频| 在线播放91灌醉迷j高跟美女| 麻豆91精品视频| 亚洲国产精品av| 欧美日韩国产高清一区二区三区| 欧美bbbbb| 国产日产欧美精品一区二区三区| 99久久久免费精品国产一区二区| 亚洲专区一二三| 欧美tk—视频vk| 91色视频在线| 日本不卡一二三| 欧美激情在线免费观看| 欧美日韩一级片网站| 国产另类ts人妖一区二区| 亚洲柠檬福利资源导航| 日韩欧美一二区| 色综合久久综合网97色综合| 美女一区二区在线观看| 亚洲少妇30p| 精品成人a区在线观看| 91小视频免费看| 久久99国产精品麻豆| 一区二区三区四区中文字幕| 精品国产欧美一区二区| 色婷婷久久久综合中文字幕| 精品一区二区日韩| 亚洲精品成人a在线观看| 久久美女艺术照精彩视频福利播放| 91久久精品一区二区| 国产精品一区二区在线观看不卡| 一区二区三区中文字幕在线观看| 精品国产成人系列| 欧美日韩国产在线观看| 国产suv精品一区二区三区| 日韩二区在线观看| 亚洲色图视频网站| 国产欧美视频一区二区三区| 欧美美女一区二区| 99久精品国产| 国产成人免费av在线| 蜜臀精品久久久久久蜜臀| 亚洲一区二区三区国产| 中文文精品字幕一区二区|