您当前的位置: 首页 >  .net

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

发布时间:2021-08-31 17:32:50 ,浏览量:8

背景

在设计自义定的输入弹窗时,遇到了一个很熟悉的问题:我希望从主窗口弹出该输入窗口,输入完成后点击"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为放置在母窗(当前窗体)的一个输入框,用于测试接收到的返回值。最终效果如下 在这里插入图片描述 至此,一个简单的输入窗口及返回输入字符串的功能成功实现。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 8浏览

    0关注

    105695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0478s