c# button事件 怎样做才有返回值?

lucksea521 2009-04-02 10:39:59
求助!
在form1中有button1,想出现的结果是,点击button1后,关闭form1并有一个非0的返回值.想知道代码如何写,或调用什么才行?
...全文
1133 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucksea521 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cja03 的回复:]
不清楚这个返回值是要返回给谁,请明示。

//Form1 中
public int ReturnValue{get;set;}
button1_Click(object sender, eventagre e)
{
this.ReturnValue=1;
this.Close();
}

//调用Form1的那个窗体


1.模式窗口
Form1 form=new Form1();
form.ShowDialog();
form.ReturnValue //获取

2.非模式窗口
Form1 form=new Form1();
form.Closing+=deleaget
{
form.ReturnValue/…
[/Quote]

是这样吗?

private void button1_Click(object sender, EventArgs e)
{
this.ReturnValue=1;
this.Close();
} 没问题
public int ReturnValue{get;set;} 中的格式提示有问题呀?

1.模式窗口
Form1 form=new Form1();
form.ShowDialog();
form.ReturnValue //获取
放在什么位置?
谢谢!
only_lonely 2009-04-04
  • 打赏
  • 举报
回复
用个属性吧。简单!
lucksea521 2009-04-03
  • 打赏
  • 举报
回复


1.我在图1中"安装前执行"处添加"text.exe".
2.图2打开text.exe,我想点击"下一步"时,关闭text.exe窗口,并可以使安装继续.请问大侠,这"下一步"事件如何写呀,或者有什么办法?
请大侠们指导一下,先谢谢了!
xufzu123 2009-04-03
  • 打赏
  • 举报
回复
来学习的~~
suners 2009-04-03
  • 打赏
  • 举报
回复
传值
十八道胡同 2009-04-03
  • 打赏
  • 举报
回复
对啊,用变量来传递啊,1楼的方法不错/
ztenv 2009-04-03
  • 打赏
  • 举报
回复
求助!
在form1中有button1,想出现的结果是,点击button1后,关闭form1并有一个非0的返回值.想知道代码如何写,或调用什么才行?


建议你先看看“多播委托”,然后就不会用在事件响应函数中返回值这个概念了,直用用字段来在函数中赋值吧;或事件再触发自定义的事件;
bulong0721 2009-04-03
  • 打赏
  • 举报
回复
模拟Dialog方式:

public class Form1 : Form{
private int returnValue_;
public int ReturnValue{
get{return returnValue_;}
private set{returnValue_ = value;}
}
public void button_Click(Object sender, EventArgs e){
this.DialogResult = DialogResult.OK;
this.ReturnValue = 100;
}
}
using(Form1 fm = new Form1()){
if(DialogResult.OK == fm.ShowDialog()){
int retVal = fm.ReturnValue;
}
}
wolf1118baby 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cja03 的回复:]
不清楚这个返回值是要返回给谁,请明示。

//Form1 中
public int ReturnValue{get;set;}
button1_Click(object sender, eventagre e)
{
this.ReturnValue=1;
this.Close();
}

//调用Form1的那个窗体


1.模式窗口
Form1 form=new Form1();
form.ShowDialog();
form.ReturnValue //获取

2.非模式窗口
Form1 form=new Form1();
form.Closing+=deleaget
{
form.ReturnValue//获取
};
form.Show();
[/Quote]
不错 哦 这样就可以解决 我常用第一种 !
whyabc 2009-04-03
  • 打赏
  • 举报
回复
楼上说的可以!
bingbingw 2009-04-03
  • 打赏
  • 举报
回复
大概明白lz要什么了,1楼就可以了,就是要在button事件里给一个变量赋值,是这样吧?
小弟万元户 2009-04-03
  • 打赏
  • 举报
回复
学习了。。
changjiangzhibin 2009-04-03
  • 打赏
  • 举报
回复
在百度或Google中搜索 "C# 窗体间传值" ,有参考代码,很详细
yingzhilian2008 2009-04-03
  • 打赏
  • 举报
回复
DialogResult.OK/About/Cancel/Yes/NO
yang_road 2009-04-03
  • 打赏
  • 举报
回复
窗体中有this.DialogResult,也许也用,不过它的返回值是DialogResult.OK/About/Cancel/Yes/NO
Fighting_Lin 2009-04-03
  • 打赏
  • 举报
回复
你问题说明的不怎么清楚...

你是不是在关闭Form1后会new一个新窗体出来,然后因为新窗体需要得到Form1里操作的一个参数,如果是这样你可以重载一下那个新窗体(例如Form2)的构造函数,带一个int型的参数;

如果关闭From1后就不在new其他的窗体,可以在Form1里定义一个全局变量,然后在button事件里给它赋值,但随后就关闭Form1,我觉得这样没什么意义...
w87250495 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cja03 的回复:]
不清楚这个返回值是要返回给谁,请明示。

//Form1 中
public int ReturnValue{get;set;}
button1_Click(object sender, eventagre e)
{
this.ReturnValue=1;
this.Close();
}

//调用Form1的那个窗体


1.模式窗口
Form1 form=new Form1();
form.ShowDialog();
form.ReturnValue //获取

2.非模式窗口
Form1 form=new Form1();
form.Closing+=deleaget
{
form.ReturnValue/…
[/Quote]

顶下
lucksea521 2009-04-03
  • 打赏
  • 举报
回复
不好意思,可能我说的不够清楚.
1.在一个窗体中,点击button1,关闭这个窗体,要有一个返回值.

2.小颖安装中有一个"安装前执行"要求程序返回值非0才可以继续安装.
3.我想把1中的窗体程序放在"安装前执行".
itcrazyman 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cja03 的回复:]
不清楚这个返回值是要返回给谁,请明示。

//Form1 中
public int ReturnValue{get;set;}
button1_Click(object sender, eventagre e)
{
this.ReturnValue=1;
this.Close();
}

//调用Form1的那个窗体


1.模式窗口
Form1 form=new Form1();
form.ShowDialog();
form.ReturnValue //获取

2.非模式窗口
Form1 form=new Form1();
form.Closing+=deleaget
{
form.ReturnValue/…
[/Quote]
up
qzw4549689 2009-04-03
  • 打赏
  • 举报
回复
不用我说了。。。
加载更多回复(4)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧