我C#也不是很熟,说说我看法吧, 自动触发? 只能写代码引发吧,当你更新数据时引发一个自定义事件就好, 外面收到事件再相应处理。给你一个自定义事件的代码吧
//定义一个委托类型
delegate void deleGate1(string s)
//发生事件的类************************************************
class MyClass
{
//定义一个事件
public event deleGate1 updataEvent
//执行代码 更新队列后引发事件
public void run()
{
//执行您的方法………………
//引发事件:
updataEvent("大家注意!队列已经更新了……")
}
}
//事件处理类***************************************************
class EventDo
{
//事件处理方法编写
public void Run(string s)
{
MessageBox.Show(s, "接收到事件。")
}
//构造函数中注册事件处理方法
public EventDo(MyClass o)
{
o.updataEvent += Run
}
}
//调用方法*****************************************************
//实例化事件引发对象,和事件处理对象:
MyClass o = new MyClass()
EventDo ed = new EventDo(o)
//程序中不论是在什么地方执行,您只要运行了这个方法,事件就被引发
o.run() //一般情况是在事件引发类中执行,这里只是为发示范。
Windows窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用
CreateWindows
函数来创建,不过类名,则需要指定为系统预先注册的控件类,比如,你要创建一个按钮控件,就要这样子
CreateWindows(
"BUTTON",
"按钮标题"
),CreateWindows
这个函数你应该用了不少了吧,其余的参数可以参考
MSDN,但是类名我们指定了
“BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的
ID,通过你的消息处理函数,可以知道哪个按钮发生了什么事件,详细讲的话,非常多,你可以参考
MSDN,或者《Windows
程序设计》这本书
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)