WinForm的窗体ShowDialog关闭的时候能不能传递返回值

 我来答
股市财经大鹏
推荐于2016-03-27 · TA获得超过276个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:278万
展开全部
可以再写一个可返回值的 ShowDialog();方法并且添加窗体返回值后关闭窗体的代码
就能达到你的需求了
如:
private string value;

public string Value
{
get
{
//延时关闭窗体方法
Method();
return this.value;
}
set { this.value = value; }
}
public string ShowDialog()
{
return Value;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panwei1335
2011-04-20 · 超过10用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
当然可以,在事件的最后return 一个值,在主窗体里是就得到这个值的
追问
那么怎么接收呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木森耙耙
2011-04-20 · TA获得超过436个赞
知道小有建树答主
回答量:907
采纳率:0%
帮助的人:575万
展开全部
ShowDialog 窗体最后可以return DialogResult枚举值 如:DialogResult.Ok
调用的窗体接收可以 DialogResult dr=frmDemo.ShowDialog();

如果是想接收其他的值 可以在调用主窗体加个公共属性
在frmDemo里 对主窗体.属性 赋值 主窗体也是一个类
追问
我是不想在主窗体中定义太多的属性或是变量才想直接从子窗体中取值的,还有别的更好的办法吗?
追答
你可以试试  在子窗体的构造方法中 重载一个 frmDemo(out string parms)  通过这种方式取得参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-04-20
展开全部
ow()方法或者 showDialog()方法 都是你控件的 自定义方法 你要考虑如何实现 这个方法体,其实很简单的,代码如下

你需要定义一个 全局变量
string a;
public string show()
{
from1 frm = new from1();
frm.show();
a="你想返回什么值就写什么值";
return a;
}

这样就能实现了 给分吧, 谢谢
另外,虚机团上产品团购,超级便宜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非马1
2011-04-23
知道答主
回答量:16
采纳率:0%
帮助的人:11.8万
展开全部
几种方法:
1.自定义个事件,在关闭函数中触发
2.构造函数里把主窗体作为参数传进去
3.构造函数里使用ref或者out传入结果变量
4.回调委托
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式