我在做一个聊天程序的时候遇到这样一个问题,我需要将操作类与窗体分离,就是说类来实现所有的操作,窗体类中只进行调用类,如果是简单的操作,很容易实现,但是如果里面设计到有参数或有返回的线程,就可能有些困难,所以在这里说一下,用类来控制窗体部分控件的方法.就写一个很简单的例子:
比如说现在我们有一个form1窗体,上面有一个label1控件,现在我们要实现执行Class1类来改变label1.text为"hello",可以这样来作:
1.在form1中添加属性
public string SetLabelText
{
set
{
this.Label1.text = value;
}
}
{
set
{
this.Label1.text = value;
}
}
2.然后可以在Class1的类中写一个方法
public static voic SetText( Form1 objForm ) //这里传递的是Form1窗体类的一个实例
{
objForm.SetLabelText = "hello"; //这样就可以找到我们定义的属性
}
{
objForm.SetLabelText = "hello"; //这样就可以找到我们定义的属性
}
3.在Form1里的相应事件中写入
Class1.SetText( this );
这样就可以将窗体作为参数传入类,然后可以根据属性来对其进行相应的操作,如果动动脑筋,可以实现更多.