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已经尝试过成功,现在想用委托或事件来实现这个功能,应该怎么做? 展开
关于设置form的线程安全及传递form到test.cs已经尝试过成功,现在想用委托或事件来实现这个功能,应该怎么做? 展开
1个回答
展开全部
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();
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();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询