C# 两个不同cs文件,使用委托或事件,访问窗体控件

窗体A.cs中有textbox1控件,test.cs类文件有方法,需要获得窗体A.cs中的textbox1.text,想请教使用委托或事件,来获取控件的值。关于设置for... 窗体A.cs中有textbox1控件,test.cs类文件有方法,需要获得窗体A.cs中的textbox1.text,想请教使用委托或事件,来获取控件的值。

关于设置form的线程安全及传递form到test.cs已经尝试过成功,现在想用委托或事件来实现这个功能,应该怎么做?
展开
 我来答
皓皓皓然然然hQ
推荐于2016-11-10 · 超过34用户采纳过TA的回答
知道答主
回答量:84
采纳率:100%
帮助的人:50.6万
展开全部
1.首先定义委托:

delegate string GetTextHandler();

2.在text.cs类中定义该委托的变量、属性:

private GetTextHandler getTextHandler;

/// <summary>
/// 设置获取文本委托函数
/// </summary>
public GetTextHandler GetTextHandler
{
set { getTextHandle = value; }
}

3.在窗体中定义一个获取文本的函数:

private string GetTextBoxValue()
{
return textbox1.Text;
}

4.给test类的GetTextHandler委托到上面的方法:

private Test objTest = new Test(); //test类的实例

在窗体构造函数中写:

objTest.GetTextHandler = GetTextBoxValue;

这样在test类中调用getTextHandler委托达到获取文本框值的目的:

if (getTextHandler != null)
string textValue = getTextHandler();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式