C# winform 怎样用 委托

实现点击form1中的‘打开’按钮----打开form2----在form2的textbox1中输入值----点击‘传输’按钮----将值传给form1中的textbox... 实现 点击form1中的‘打开’按钮----打开form2----在form2的textbox1中输入值----点击‘传输’按钮----将值传给form1中的textbox1并同时关闭form2
高手指导 O(∩_∩)O谢谢!~~
展开
 我来答
xiangjuan314
2015-12-25 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2804万
展开全部
什么是委托
  首先要知道什么是委托,用最通俗易懂的话来讲,你就可以把委托看成是用来执行方法(函数)的一个东西。

如何使用委托
  在使用委托的时候,你可以像对待一个类一样对待它。即先声明,再实例化。只是有点不同,类在实例化之后叫对象或实例,但委托在实例化后仍叫委托。

声明,如:

namespace Vczx.ProCSharp.Exc
{
delegate double MathsOp( double x );
//class defination here
}

  这就声明了一个委托,意义:任何一个返回值为double,且只有一个形参为double的函数,都可以用这个委托来调用。
  注意:委托的声明位置在namespace里面,类的外面。其实,委托的声明也可以在类的里面,甚至是任何一个可以声明类的地方。
  实例化:
  首先我们要先有一个满足委托声明的方法,假设一个返回一个数的2倍的方法:

class MathsOperations
{
public static double MultiplyBy2( double value )
{
return value * 2;
}
}

  有了这样一个方法,我们就可以实例化一个委托了:
MathsOp operation = new MathsOp( MathsOperations.MultiplyBy2 );
  在实例化一个委托时,要给它一个参数,这个参数就是委托执行的方法,它可以是静态方法,也可以是实例方法(这一点有别于函数指针,函数指针只能调用静态方法),如:
MathsOp operation = new MathsOp( new Class1().Method1 );

在实例化完一个委托之后,就可以用这个委托来调用方法了:
double result = operation( 1.23 );
Real_QXY
2012-05-26 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:24.5万
展开全部
你把form1对象作为参数传到form2中,在调用关闭函数前完成赋值操作,在关闭。应该就OK!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤傲灵魂→玄烨7c3ec
2012-05-26 · TA获得超过297个赞
知道小有建树答主
回答量:493
采纳率:0%
帮助的人:156万
展开全部
窗口的打开关闭不用说了吧?你把要传的值可以放到全局变量中
追问
是用全局变量做的,但是老有错,现在想用委托,代码应该怎么写?
追答
那就帮不到你了,不好意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kele629
2012-05-27 · 超过10用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:23.5万
展开全部
在form2中定义一个委托
public void delegate GetTextHandler(object sender,string text);
public static GetTextHandler getTextHandler = null;
private void Button_click(object sender,eventArgs e)
{
if(getTextHandler is not null){
getTextHandler (this,this.textBox.Text.Trim());this.closed();
}
}
在form1里来实例化form2
Form1.getTextHandler =new GetTextHandler (GetText);
private void GetText(object sender,string text)
{

}
用法有很多种,这只是其中一种方法。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式