请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 419|回复: 0

获取Form.ShowDialog() 出的窗体中textbox的返回值

[复制链接]

16

主题

17

帖子

108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
108
发表于 2018-4-18 17:23:59 | 显示全部楼层 |阅读模式
获取Form.ShowDialog() 出的窗体中textbox的返回值

经常会遇到ShowDialog出的窗体中有一些textbox,输入完后返回到主窗体中。怎么办呢?有办法。


理论上讲ShowDialog后的窗体返回值类型是DialogResult。也就是一个枚举值,只有yes,no,ok之类的值,肯定是不能把textbox中的值返回的。有人说重写DialogResult。可以,但是估计没几个人会的。


举个简单的例子就可以实现。

两个窗体from1,form2


from1中ShowDialog出form2


form2中有个textbox1,有个button1

在form2中定义一个public属性,名字为test


点击button1,将属性test设置为textbox1的值,设置this.DialogResult的值为OK(当然也可以是其他的,但是建议不是cancel,WHY?自己去想。)


在form1的shoudialog后面写判断返回值是不是OK,如果是输出form2的属性test  效果达到。

下面是代码。


//FROM1

private void button1_Click(object sender, EventArgs e)
        {
           form2     myform2 = new form2();

       DialogResult ddr = myform2 .ShowDialog();
            if(ddr == DialogResult.OK)
            {
                MessageBox.Show(myform2 .test);
            }
        }



//FORM2

//我没定义属性,写了个变量,自己看情况

public string test= string.Empty;


private void button1_Click(object sender, EventArgs e)
        {
            test= this.textBox1.Text.Trim();
            this.DialogResult = DialogResult.OK;
        }

文章转自:https://blog.csdn.net/piaofengxiyue/article/details/4494382


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|软件编程 ( 鄂ICP备11006601号鄂公网安备 42011102001337号 |

GMT+8, 2018-7-21 06:13 , Processed in 0.118245 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表