zoukankan      html  css  js  c++  java
  • C# winform 弹出输入框

    以前用Qt和C++Builder的时候,里面都有一个InputDialog输入框。但是到C# winform里面没有这个。那么要实现这个效果怎么办,当然也是比较容易的。

    先看下效果:

    点击显示输入框按钮,弹出输入框

    在书入框内输入132456,然后按下:确定或者回车键,效果如下:

    以上就是输入框的整个效果。

    现在就上核心代码。

    1、首先添加新建项:C#窗体

    2、添加控件,并修改布局如下效果

    修改TextBox控件name为txtString,

    修改button1控件name为btnOK,Text为确定,

    修改取消button2控件name为btnCancel,Text为取消。

    然后在按下F7,在代FrmInputDialog类里面添加代码:

    public delegate void TextEventHandler(string strText);
    
    public TextEventHandler TextHandler;

    3、双击按钮分别添加按钮事件,代码如下:

    private void btnOk_Click(object sender, EventArgs e)
    {
        if (null != TextHandler)
        {
            TextHandler.Invoke(txtString.Text);
            DialogResult = DialogResult.OK;
        }
    }
    
    private void btnCancel_Click(object sender, EventArgs e)
    {
        DialogResult = DialogResult.Cancel;
    }

    4、添加TextBox的Key_Press事件,代码如下:

    private void txtString_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (Keys.Enter == (Keys)e.KeyChar)
        {
            if (null != TextHandler)
            {
                TextHandler.Invoke(txtString.Text);
                DialogResult = DialogResult.OK;
            }
        }
    }

    5、然后在项目中添加新建项:C#类

    命名为:InputDialog

    然后修改InputDialog.cs中代码:

    public static class InputDialog
    {
        public static DialogResult Show(out string strText)
        {
            string strTemp = string.Empty;
    
            FrmInputDialog inputDialog = new FrmInputDialog();
            inputDialog.TextHandler = (str) => { strTemp = str; };
    
            DialogResult result = inputDialog.ShowDialog();
            strText = strTemp;
    
            return result;
        }
    }

    以上就是自定义输入框的核心代码。

    用法示例:

    在按钮事件下添加代码:

    string strText = string.Empty;
    InputDialog.Show(out strText);

    strText就是从输入框拿到的内容。就这么简单。

     demo下载

  • 相关阅读:
    IOS开发-CALayer和UIView详细汇总
    IOS开发-第三方SDWebImage下载网络图片的使用
    解决TalbleView头部或底部子控件不显示问题
    node.js http.get 和http.post 数据
    Node.js Express 获取request原始数据
    个人开发者做一款Android App需要知道的事情
    个人开发者的酸甜苦辣
    码农的福利来了, 编程在线Androd 客户端上线了
    console使用技巧
    AngularJS 常用语法
  • 原文地址:https://www.cnblogs.com/hjsstudio/p/9676111.html
Copyright © 2011-2022 走看看