ClassInputBox类 在c#中类似VB的InputBox

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

#region 直接调用该类的静态ShowInputBox方法就可以实现Microsoft.VisualBasic.Interaction.InputBox,其中Position参数是输入框位置,Title参数是输入框的标题,Prompt参数是提示标签,DefaultResponse可以显示自定义的默认信息。
/*
//具体调用如下:
            private void button_Click(object sender, System.EventArgs e)
            {
                string inMsg = InputSystem.InputBox.ShowInputBox("输入框", "输入信息", string.Empty);
                //对用户的输入信息进行检查
                if (inMsg.Trim() != string.Empty) MessageBox.Show(inMsg);
                else MessageBox.Show("输入为空");
            }
*/
#endregion

namespace dgdsoft
{
    /// <summary>
    /// InputBox 的摘要说明。
    /// </summary>
    public class InputBox : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Label label_Info;
        private TextBox textBox_Data;
        private Button button_Enter;
        private Button button_Esc;
        private System.ComponentModel.Container components = null;

        private InputBox()
        {
            InitializeComponent();
            this.TopMost = true;
            //this.StartPosition = FormStartPosition.CenterScreen;
            //inputbox.Location.X = 0; inputbox.Location.Y = 0;
            //inputbox.StartPosition = FormStartPosition.CenterScreen;
            //inputbox.Left = 0;
            //inputbox.Top = 0;
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
            this.label_Info = new System.Windows.Forms.Label();
            this.textBox_Data = new System.Windows.Forms.TextBox();
            this.button_Enter = new System.Windows.Forms.Button();
            this.button_Esc = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // label_Info
            // 
            this.label_Info.BackColor = System.Drawing.SystemColors.ButtonFace;
            this.label_Info.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.label_Info.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.label_Info.ForeColor = System.Drawing.Color.Red;
            this.label_Info.Location = new System.Drawing.Point(12, 38);
            this.label_Info.Name = "label_Info";
            this.label_Info.Size = new System.Drawing.Size(177, 49);
            this.label_Info.TabIndex = 1;
            this.label_Info.Text = "[Enter]确认|[Esc]取消";
            this.label_Info.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox_Data
            // 
            this.textBox_Data.Location = new System.Drawing.Point(8, 8);
            this.textBox_Data.Name = "textBox_Data";
            this.textBox_Data.Size = new System.Drawing.Size(230, 21);
            this.textBox_Data.TabIndex = 2;
            this.textBox_Data.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox_Data_KeyDown);
            // 
            // button_Enter
            // 
            this.button_Enter.Location = new System.Drawing.Point(195, 43);
            this.button_Enter.Name = "button_Enter";
            this.button_Enter.Size = new System.Drawing.Size(50, 20);
            this.button_Enter.TabIndex = 3;
            this.button_Enter.Text = "确 认";
            this.button_Enter.UseVisualStyleBackColor = true;
            this.button_Enter.Click += new System.EventHandler(this.button_Enter_Click);
            // 
            // button_Esc
            // 
            this.button_Esc.Location = new System.Drawing.Point(195, 69);
            this.button_Esc.Name = "button_Esc";
            this.button_Esc.Size = new System.Drawing.Size(50, 20);
            this.button_Esc.TabIndex = 4;
            this.button_Esc.Text = "取 消";
            this.button_Esc.UseVisualStyleBackColor = true;
            this.button_Esc.Click += new System.EventHandler(this.button_Esc_Click);
            // 
            // InputBox
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
            this.ClientSize = new System.Drawing.Size(250, 96);
            this.Controls.Add(this.button_Esc);
            this.Controls.Add(this.button_Enter);
            this.Controls.Add(this.textBox_Data);
            this.Controls.Add(this.label_Info);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Name = "InputBox";
            this.Text = "InputBox";
            this.Load += new System.EventHandler(this.InputBox_Load);
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        //对键盘进行响应
        private void textBox_Data_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) { button_Enter_Click(sender, e); }
            else if (e.KeyCode == Keys.Escape) { button_Esc_Click(sender, e); }
        }
        private void button_Enter_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void button_Esc_Click(object sender, EventArgs e)
        {
            textBox_Data.Text = string.Empty; this.Close();
        }


        //显示InputBox
        public static string ShowInputBox(int Left, int Top, string Title, string Prompt, string DefaultResponse)
        {
            InputBox inputbox = new InputBox();
            if (Title.Trim() != string.Empty) inputbox.Text = Title;
            if (Prompt.Trim() != string.Empty) inputbox.label_Info.Text = Prompt;
            if (DefaultResponse.Trim() != string.Empty) inputbox.textBox_Data.Text = DefaultResponse;
            inputbox.ShowDialog();
            inputbox.Left = Left; inputbox.Top = Top;
            return inputbox.textBox_Data.Text;
        }
        public static string ShowInputBox(FormStartPosition Position, string Title, string Prompt, string DefaultResponse)
        {
            InputBox inputbox = new InputBox();
            inputbox.StartPosition = Position;
            if (Title.Trim() != string.Empty) inputbox.Text = Title;
            if (Prompt.Trim() != string.Empty) inputbox.label_Info.Text = Prompt;
            if (DefaultResponse.Trim() != string.Empty) inputbox.textBox_Data.Text = DefaultResponse;
            inputbox.ShowDialog();
            return inputbox.textBox_Data.Text;
        }
        public static string ShowInputBox()
        {
            return ShowInputBox(FormStartPosition.CenterScreen, string.Empty, string.Empty, string.Empty);
        }
        public static string ShowInputBox(string Title)
        {
            return ShowInputBox(FormStartPosition.CenterScreen, Title, string.Empty, string.Empty);
        }
        public static string ShowInputBox(string Title, string Prompt)
        {
            return ShowInputBox(FormStartPosition.CenterScreen, Title, Prompt, string.Empty);
        }
        public static string ShowInputBox(string Title, string Prompt, string DefaultResponse)
        {
            return ShowInputBox(FormStartPosition.CenterScreen, Title, Prompt, DefaultResponse);
        }

        private void InputBox_Load(object sender, EventArgs e)
        {

        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值