• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#winform弹出输入框

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

以前用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下载


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#数值计算、转换发布时间:2022-07-13
下一篇:
C#快速学习笔记(译)发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap