公共类怎么操作窗体控件?
c#做上位机与下位机通讯,我做了一个类,专门用来发送和接收数据,怎么把接收到的数据显示在窗体控件上?
看了些帖子,一般认为有三种方法:1、构造函数;2、public static;3、委托。
是不是第二中方法最简单?按第二种方法,公共类中怎么写?我写成FormAbout.textBox1.Text = "llll";报错。
求大侠详解,谢谢
------解决方案--------------------用委托吧,自定义事件
------解决方案--------------------1)构造
class aaa
FormAbount _f;
public aaa(FormAbount f)
{
_f=f;
f.text.....
}
2)静态
定义一个静态类 list<string>
接收类不停外立面插入数据
窗体用TIMER每个一段时间获取数据
3)委托 建议用这种方式
代码清晰度最高
------解决方案--------------------我也做了一个上位机 跟你差不多 用的是委托..
代码差不多就是这个意思..
form代码
delegate void Write(string msg);
void write(string msg)
{
if (listBox1.InvokeRequired)
{
listBox1.Invoke(new Write(write), msg);
}
else
{
listBox1.Items.Insert(0, msg);
}
}
然后在类里面写了
public delegate void Write(string msg);
public class ByteDataHandle
{
public Write write;
public static void xxoo(string ooxx)
{
write("xxoo");
}
}
调用就是
ByteDataHandle handle = new ByteDataHandle();
handle.write = write;
里面就可以输出了...或者给控件赋值啥的
------解决方案--------------------果断委托!
------解决方案--------------------
public class ComMachine