c#的类中怎么调用窗体中的事件
c#的类中如何调用窗体中的事件?
窗体中代码如下..
没啥功能就是类似输出日志的东西...
现在要在类(class)中调用.
如果有参数可以传值 那么我在class中定义如下
调用的话 直接
是可以实现的.
不过 现在问题是这样..我有方法是不能传参数的.. (比如调度之类的东西)
里面只有方法 比如
------解决思路----------------------
你要想办法解耦啊
你这样类不是跟窗体完全关联到一起去了,你不如把类里的代码全部复制到窗体中算了
------解决思路----------------------
实例化 窗体类再调用。我怎么感觉 逻辑有点别扭呀。
------解决思路----------------------
你这个form跟类互相调用的话 委托随便就解决了
其他就真纠结了
窗体中代码如下..
public void WriteMsg(object item)
{
listBox1.Invoke(new Action(() =>
{
if (listBox1.Items.Count > 30)
{
listBox1.Items.Clear();
}
listBox1.Items.Insert(0, item);
}));
}
没啥功能就是类似输出日志的东西...
现在要在类(class)中调用.
如果有参数可以传值 那么我在class中定义如下
public delegate void Write(string msg);
public class xxoo
{
public Write write;
public cw(msg)
{
write(msg);
}
}
调用的话 直接
xxoo x=new xxoo();
x.Write=WriteMsg;
x.cw("admin");
是可以实现的.
不过 现在问题是这样..我有方法是不能传参数的.. (比如调度之类的东西)
里面只有方法 比如
public class BurnTime : Quartz.IJob
{
public void Execute(Quartz.IJobExecutionContext context)
{
//我如何在这里面 可以调窗体的writeMsg的方法? 前提不允许把WriteMsg提出来到类中
// 如果是这样 似乎又得把控件当参数传过去.改动太多.....
}
}
------解决思路----------------------
你要想办法解耦啊
你这样类不是跟窗体完全关联到一起去了,你不如把类里的代码全部复制到窗体中算了
------解决思路----------------------
实例化 窗体类再调用。我怎么感觉 逻辑有点别扭呀。
------解决思路----------------------
你这个form跟类互相调用的话 委托随便就解决了
其他就真纠结了