社区
C#
帖子详情
触发事件的疑问。
jundywoo
2007-06-20 12:41:43
自己写上一个类,类有一个公共属可以设定一个时间,也定义一个事件。如果到这个时间后,这个类会触发这个事件。像一个闹钟。
问题是,我如何完全靠代码去写这个类呢?
...全文
199
8
打赏
收藏
触发事件的疑问。
自己写上一个类,类有一个公共属可以设定一个时间,也定义一个事件。如果到这个时间后,这个类会触发这个事件。像一个闹钟。 问题是,我如何完全靠代码去写这个类呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RedGoldFish
2007-06-20
打赏
举报
回复
LZ爽快,多谢!
jundywoo
2007-06-20
打赏
举报
回复
终于实现了闹钟功能,谢谢RedGoldFish(红金鱼)
YUAN168
2007-06-20
打赏
举报
回复
如果是执行SQL语句,可以用SQL中的任务
jundywoo
2007-06-20
打赏
举报
回复
我是用c#的咯
RedGoldFish
2007-06-20
打赏
举报
回复
用Timer是个好办法.不知道LZ是在什么程序中用. 建议用System.Threading.Timer,它可以用在Windows Service中(System.Windows.Forms.Timer 一般不行),而且可以让它只触发一次.
System.Threading.Timer myTimer = new System.Threading.Timer(MyCallBack);
//System.Threading.Timeout.Infinite 保证它只触发一次.
myTimer.Change(MyFireTime.Subtract(System.DateTime.Now ), System.Threading.Timeout.Infinite);
private void MyCallBack(object state)
{
//做闹钟里要做的工作.
}
jundywoo
2007-06-20
打赏
举报
回复
回ProjectDD:
现在我的问题就在于,如何可以在不独占线程的情况下去做这个“周期性轮询时间的代码段”。当我设定一个属性,像timer一样,enable就去周期性地轮询时间,disable就停止?又不影响我其他主线程的代码执行?
luffy927
2007-06-20
打赏
举报
回复
我是这么想的:
在类开始的时候初始化一个timer,设定一个时间段,然后在timer事件触发时触发事件,顺便把timer关了。
例如: private System.Windows.Forms.Timer timer1;
然后构造函数中
timer1.Enabled = true;
timer1.Interval = 10000; //时间段。
绑定事件:
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
触发:
private void timer1_Tick(object sender, EventArgs e)
{
1.要触发的事件。
类.event += new 类2.delegate(处理事件的方法);
2.将timer无效化
timer1.Enabled = false;
}
ProjectDD
2007-06-20
打赏
举报
回复
在Main()中写一个周期性轮询时间的代码段,然后再其中判断就可以了,如果要用事件就在其中触发,"OnYourEvent(this,new EventArgs());"
【React进阶系列】史上最全React事件机制详解
(1)命名规范不同React事件的属性名是采用驼峰形式的,事件处理函数是一个函数;原生事件通过addEventListener给事件添加事件处理函数(2)React事件只支持事件冒泡。原生事件通过配置第三个参数,true为事件捕获,false为事件冒泡(3)事件挂载目标不同React事件统一挂载到document上;原生事件挂载到具体的DOM上(4)this指向不同原生事件:1.如果onevent事件属性定义的时候将this作为参数,在函数中获取到该参数是DOM对象。
TextBox中的TextChanged和KeyDown事件的小区别
TextChanged: 文本更改时触发,分在程序里更改,用户使用键盘更改,无论那中更改,都会触发TextChanged事件 KeyDown: 也是在文本更改时触发,但只有用户使用键盘更改时才触发,在程序里更改不触发 btw:各位朋友,c#里是不是没有获得焦点的Focus事件呢?...
实习期学习记录-事件的绑定和分发
handler中的onCommandEvent对要执行的函数做了onShot和判断该类的实例是否存在的包装。eventMap中的events和dispatcher的events,为什么要保存两次。上面的函数将对应事件类型和操作绑定,以便在全局的任意地方调用对应的方法操作。登录操作中调用了:切换场景至战斗场景的事件,同时传入了登录数据和战斗数据。判断是否禁用,判断事件dispatcher的events中是否存在该事件。同上,将事件保存至dispatcher的events中。调用所有已经注册在事件中的操作。
使用VUE下拉框组件el-dropdown-item,设置click点击事件,会触发两次
项目场景: 毕设项目 问题描述 问题帖链接:https://ask.csdn.net/questions/7683469?answer=53747393&username=qq_42955997 原因分析: 使用的组件是elementplus的el-dropdown下拉框组件,官方并没有提供@click的方法,所以可能出现一些未知的问题。 解决方案: 这里官方提供了一个方法叫commond,官方说明是“点击菜单项触发的事件回调”,这正是我们需要的。解决方式参考帖子:https://blog.csdn
python 线程同步通信之event事件
1、线程间同步通信 -- threading库中的Event对象 Event对象包含一个可由线程设置的信号对象(状态值),为假时事件阻塞线程,为真线程忽略事件,由假到真唤醒线程。 阻塞与等待:https://www.jianshu.com/p/73352d0a14d4 2、Event几种方法及demo event.isSet():返回event的状态值; event.wait():如果 event.isSet()==False将阻塞线程; event.set(): 设置event的状态值为True
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章