using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;namespace WindowsApplication1{#region InputBox return result/// <summary>/// Class used to store the result of an InputBox.Show message./// </summary>public class InputBoxResult {public DialogResult ReturnCode;public string Text;}#endregion/// <summary>/// Summary description for InputBox./// </summary>public class InputBox{#region Private Windows Contols and Constructor// Create a new instance of the form.private static Form frmInputDialog;private static Label lblPrompt;private static Button btnOK;private static Button btnCancel;private static TextBox txtInput;public InputBox(){}#endregion#region Private Variablesprivate static string _formCaption = string.Empty;private static string _formPrompt = string.Empty;private static InputBoxResult _outputResponse = new InputBoxResult();private static string _defaultValue = string.Empty;private static int _xPos = -1;private static int _yPos = -1;#endregion#region Windows Form codeprivate static void InitializeComponent(){// Create a new instance of the form.frmInputDialog = new Form();lblPrompt = new Label();btnOK = new Button();btnCancel = new Button();txtInput = new TextBox();frmInputDialog.SuspendLayout();// // lblPrompt// lblPrompt.Anchor = ((AnchorStyles)((((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right)));lblPrompt.BackColor = SystemColors.Control;lblPrompt.Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((Byte)(0)));lblPrompt.Location = new Point(12, 9);lblPrompt.Name = "lblPrompt";lblPrompt.Size = new Size(302, 82);lblPrompt.TabIndex = 3;// // btnOK// btnOK.DialogResult = DialogResult.OK;btnOK.FlatStyle = FlatStyle.Popup;btnOK.Location = new Point(326, 8);btnOK.Name = "btnOK";btnOK.Size = new Size(64, 24);btnOK.TabIndex = 1;btnOK.Text = "&OK";btnOK.Click = new EventHandler(btnOK_Click);// // btnCancel// btnCancel.DialogResult = DialogResult.Cancel;btnCancel.FlatStyle = FlatStyle.Popup;btnCancel.Location = new Point(326, 40);btnCancel.Name = "btnCancel";btnCancel.Size = new Size(64, 24);btnCancel.TabIndex = 2;btnCancel.Text = "&Cancel";btnCancel.Click = new EventHandler(btnCancel_Click);// // txtInput// txtInput.Location = new Point(8, 100);txtInput.Name = "txtInput";txtInput.Size = new Size(379, 20);txtInput.TabIndex = 0;txtInput.Text = "";// // InputBoxDialog// frmInputDialog.AutoScaleBaseSize = new Size(5, 13);frmInputDialog.ClientSize = new Size(398, 128);frmInputDialog.Controls.Add(txtInput);frmInputDialog.Controls.Add(btnCancel);frmInputDialog.Controls.Add(btnOK);frmInputDialog.Controls.Add(lblPrompt);frmInputDialog.FormBorderStyle = FormBorderStyle.FixedDialog;frmInputDialog.MaximizeBox = false;frmInputDialog.MinimizeBox = false;frmInputDialog.Name = "InputBoxDialog";frmInputDialog.ResumeLayout(false);}#endregion#region Private function, InputBox Form move and change sizestatic private void LoadForm(){OutputResponse.ReturnCode = DialogResult.Ignore;OutputResponse.Text = string.Empty;txtInput.Text = _defaultValue;lblPrompt.Text = _formPrompt;frmInputDialog.Text = _formCaption;// Retrieve the working rectangle from the Screen class// using the PrimaryScreen and the WorkingArea properties.System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea;if((_xPos >= 0 && _xPos < workingRectangle.Width-100) && (_yPos >= 0 && _yPos < workingRectangle.Height-100)){frmInputDialog.StartPosition = FormStartPosition.Manual; frmInputDialog.Location = new System.Drawing.Point(_xPos, _yPos);}elsefrmInputDialog.StartPosition = FormStartPosition.CenterScreen;string PrompText = lblPrompt.Text;int n = 0;int Index = 0;while(PrompText.IndexOf("\n",Index) > -1){Index = PrompText.IndexOf("\n",Index) 1;n ;}if( n == 0 )n = 1;System.Drawing.Point Txt = txtInput.Location; Txt.Y = Txt.Y (n*4);txtInput.Location = Txt; System.Drawing.Size form = frmInputDialog.Size; form.Height = form.Height (n*4);frmInputDialog.Size = form; txtInput.SelectionStart = 0;txtInput.SelectionLength = txtInput.Text.Length;txtInput.Focus();}#endregion#region Button control click eventstatic private void btnOK_Click(object sender, System.EventArgs e){OutputResponse.ReturnCode = DialogResult.OK;OutputResponse.Text = txtInput.Text;frmInputDialog.Dispose();}static private void btnCancel_Click(object sender, System.EventArgs e){OutputResponse.ReturnCode = DialogResult.Cancel;OutputResponse.Text = string.Empty; //Clean output responsefrmInputDialog.Dispose();}#endregion#region Public Static Show functionsstatic public InputBoxResult Show(string Prompt){InitializeComponent();FormPrompt = Prompt;// Display the form as a modal dialog box.LoadForm();frmInputDialog.ShowDialog();return OutputResponse;}static public InputBoxResult Show(string Prompt,string Title){InitializeComponent();FormCaption = Title;FormPrompt = Prompt;// Display the form as a modal dialog box.LoadForm();frmInputDialog.ShowDialog();return OutputResponse;}static public InputBoxResult Show(string Prompt,string Title,string Default){InitializeComponent();FormCaption = Title;FormPrompt = Prompt;DefaultValue = Default;// Display the form as a modal dialog box.LoadForm();frmInputDialog.ShowDialog();return OutputResponse;}static public InputBoxResult Show(string Prompt,string Title,string Default,int XPos,int YPos){InitializeComponent();FormCaption = Title;FormPrompt = Prompt;DefaultValue = Default;XPosition = XPos;YPosition = YPos;// Display the form as a modal dialog box.LoadForm();frmInputDialog.ShowDialog();return OutputResponse;}#endregion#region Private Propertiesstatic private string FormCaption{set{_formCaption = value;}} // property FormCaptionstatic private string FormPrompt{set{_formPrompt = value;}} // property FormPromptstatic private InputBoxResult OutputResponse{get{return _outputResponse;}set{_outputResponse = value;}} // property InputResponsestatic private string DefaultValue{set{_defaultValue = value;}} // property DefaultValuestatic private int XPosition{set{if( value >= 0 )_xPos = value;}} // property XPosstatic private int YPosition{set{if( value >= 0 )_yPos = value;}} // property YPos#endregion }}
下载C# InputBox控件源码用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论