問題排查:沒有任何多載符合 System.Timers.ElapsedEventHandler 委派
這是在實作當前專案最後一個關鍵功能:提醒通知
所遇到的奇怪狀況
目前的設想,是以 Windows Form 結合 Timer,當作發送通知的載體
大家都知道在 C# 的環境裡,有三種內建的 Timer 可用:Windows Form Timer、System.Timer、Threading.Timer
遇到的怪事,主要是在 System.Timer 這一段
代碼如下:
using System;
using System.Drawing;
using System.Text;
using System.Threading;
using System.Timers;
using System.Windows.Forms; namespace SystemTimer
{
public partial class Form1 : Form
{
int number = ;
DateTime dt1 = new DateTime();
DateTime dt2 = new DateTime(); System.Timers.Timer tm; public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void b1_Click(object sender, EventArgs e)
{
tm = new System.Timers.Timer();
tm.Interval = ;
tm.Enabled = true;
tm.Elapsed += new System.Timers.ElapsedEventHandler(tm_elapsed);
tm.Start();
dt1 = DateTime.Now;
} private void b2_Click(object sender, EventArgs e)
{
tm.Enabled = false;
dt2 = DateTime.Now;
MessageBox.Show(Convert.ToString(dt2 - dt1));
} private void tm_elapsed(object sender, System.Timers.ElapsedEventHandler e)
{
lbmsg.Text = Convert.ToString(++number);
Thread.Sleep();
}
}
}
編譯時在標示紅色的那行提示錯誤,來對照一下微軟的官方參考資料
回調函數原形
public delegate void ElapsedEventHandler(
Object sender,
ElapsedEventArgs e
)
所以只要把
private void tm_elapsed(object sender, System.Timers.ElapsedEventHandler e)
{
lbmsg.Text = Convert.ToString(++number);
Thread.Sleep();
}
改成
private void tm_elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
lbmsg.Text = Convert.ToString(++number);
Thread.Sleep();
}
就可以了
問題排查:沒有任何多載符合 System.Timers.ElapsedEventHandler 委派的更多相关文章
- 問題排查:行動裝置網頁前端 UI 設計 (1)
這是最近開始接手的一個微信公眾平台專案, 在重整後端程式碼時,因為也需要透過前端來看效果, 所以就因此在前端的部分遇到了不少問題, 畢竟這是以前沒接觸過的領域 (早年的網頁應用程式開發沒有那麼多分工) ...
- 問題排查:DataGridView 資料行下拉選單,資料繫結階段顯示 DataGridViewComboBoxCell 值無效
可能原因: 1.下拉選單的選項資料繫結晚於 DataGridView 的資料繫結 2.下拉選單的 DataPropertyName 屬性,比 DisplayMember.ValueMember 早賦值 ...
- 問題排查:在 ServiceModel 客戶端配置部份中,找不到名稱 和協定 的終結點元素。
同樣都是刪掉服務參考再重建重編譯重發行,為什麼之前幾次都沒事? 這次只不過是刪掉服務參考,然後換了個名稱重建而已,做完就變這樣? 後來發現問題出在 app.config,因為之前 app.config ...
- 問題排查:行動裝置網頁前端 UI 設計 (2)
之前上網找了個星級評分的範例來玩, 當然這個範例已經用在另一個專案了, 目前看起來沒什麼狀況, 不過在移植到目前的專案之後, 就出現了怪現象: 1. 在大部份時間裡,點擊星星不會有任何反應 2. 即便 ...
- 問題排查:System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel
錯誤訊息如下: System.BadImageFormatException: 未能加载文件或程序集“System.ServiceModel, Version=3.0.0.0, Culture=neu ...
- 問題排查:类型“System.DateTime”的对象无法转换为类型“System.String”
最近在擴充資料對接工具的功能 經常會遇到這個狀況 當然還有其他同類提示,例如 int/decimal 無法轉 System.String 等等 無獨有偶 這些錯誤幾乎都是在 DataTable 轉換成 ...
- 問題排查:.NETSystem.Runtime.Remoting.RemotingException: TCP 信道协议冲突: 应为报头。
這個錯誤訊息是在一個 Web Serveice 的偵錯階段發生的 目前還未找到原因,環境如下: 作業系統:Windows 10 x64 企業版 (簡中) 開發工具:Visual Studio 2013 ...
- 問題排查:F5啟動偵錯後所提示的錯誤 (2)
原始專案版本:Visual Studio 2005 開發環境:Visual Studio 2013 偵錯運行環境:IIS Express 啟動偵錯後,錯誤提示內容如下: HTTP 错误 403.14 ...
- 問題排查:F5啟動偵錯後所提示的錯誤 (1)
原始專案版本:Visual Studio 2005 開發環境:Visual Studio 2013 偵錯運行環境:IIS Express 啟動偵錯後,錯誤提示內容如下: HTTP 错误 500.23 ...
随机推荐
- [Spring MVC] - InitBinder验证
Spring MVC使用InitBinder验证: 使用InitBinder做验证的情况一般会在此Controller中提交的数据需要有一些是业务性质的,也即比较复杂的验证情况下才会使用.大部份简单的 ...
- [solr] - 索引数据删除
删除solr索引数据,使用XML有两种写法: 1) <delete><id>1</id></delete> <commit/> 2) < ...
- 21副GIF动图让你了解各种数学概念
baidu 21副GIF动图让你了解各种数学概念
- js json排序
var p = [ {name:"kitty", age:12}, {name:"sonny", age:9}, ...
- Android开发60条技术经验总结
Android开发60条技术经验总结,以下是全文: 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有 ...
- OpenExplorer打开文件夹
Eclipse中文件打开功能,可以到https://github.com/samsonw/OpenExplorer/downloads下载最新版本,将jar包放到eclipse的plugins目录中, ...
- osmdroid启程
osmdroid一个牛逼的开源地图引擎,从今天开始好好研究一下~
- DATAGUARD 添加修改REDOLOG大小
DG在线日志组大小修改 环境(单实例,Centos 6.5 X64,oracle 10.2.0.5,filesystem存储) REDO ONLINE LOG select * from v$logf ...
- 查看.NET Service Pack版本
原文地址:如何确定已安装的 Microsoft .NET Framework 版本和 Service Pack 级别 使用以下注册表信息确定已安装的 Microsoft .NET Framework ...
- (Forward) Music Player: From UI Proposal to Code
Some developers have difficult to code when the UI proposal is a bit “sophisticated” or “complex”. M ...