栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

(.net) WPF 实现用户输入窗口,输入完成后将值返回给母窗口

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(.net) WPF 实现用户输入窗口,输入完成后将值返回给母窗口

背景

在设计自义定的输入弹窗时,遇到了一个很熟悉的问题:我希望从主窗口弹出该输入窗口,输入完成后点击"Done"按钮,输入窗口关闭,同时将TextBox里的字符串返回给母窗口。
特别记录一下这次的实现方式。

解决方案

首先,我们制作一个《简 单》的输入窗口:

具体实现方式自便,这个窗口包含的基本结构是一个TextBox和Button,前者负责给用户输入信息,后者负责返回这个信息,以及关闭窗口。
我们在该窗口对应的CS下这样写:

    public partial class InputBox
    {

        public InputBox()
        {
            InitializeComponent();
            
        }

        public string InputValue
        {
            get
            {
                return Boxx.Text;
            }
            set
            {
                this.Boxx.Text = value;
            }
        }

        public event EventHandler accept;

        private void Done_Button_Click(object sender, RoutedEventArgs e)
        {
            if (accept != null)
            {
                accept(this, EventArgs.Empty);
            }
            //this.Close(); //为了测试效果,点击Done以后先不关闭窗口
        }

    }

InputValue即为输入框(TextBox)里的内容;accept则是一个事件,当窗体触发accept事件,就传递自身引用。
在主窗体的CS文件中,我们在需要获取该窗口的地方:

InputBox frm = new InputBox();
frm.accept += new EventHandler(frm_accept);
frm.Show();

void frm_accept(object sender, EventArgs e)
{
    //事件的接收者通过一个简单的类型转换得到InputBox的引用
	UserControl.InputBox frm = (UserControl.InputBox)sender;
    //接收到InputBox的TextBox值
    this.TestBox.Text = frm.InputValue;
}

这里的this.TestBox为放置在母窗(当前窗体)的一个输入框,用于测试接收到的返回值。最终效果如下

至此,一个简单的输入窗口及返回输入字符串的功能成功实现。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/908040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号