我試過幾個教程解決我的問題...但它是這樣一個biig和柏一個-.-需要幫助使用線程來監視指定的文件夾中的txt文件
下面的代碼:
private void btnMonitor_Click(object sender, EventArgs e)
{
lock (m_lock)
{
if (thread_isRunning)
{
thread_isAbortRequested = true;
}
else
{
thread_isAbortRequested = false;
thread_isRunning = true;
ThreadPool.QueueUserWorkItem(BackgroundMethod);
}
}
//StartMonitoring();
}
是的,我其實下面這個方法:How to start thread if button pressed and stop it if pressed again?
這就是爲什麼我的代碼是這樣的。
首先:
我的律程序的目的是讓用戶輸入的路徑到一個文本框,單擊監視器按鈕和賓果遊戲,螺紋上手和隨時監控指定的文件夾中所確定的文件(在這種情況下是txt),並將它們添加到數據網格中。
其實它已經在我的數據網格列表..問題是:當監視器按鈕被點擊時,線程只啓動一次:(而且我想要像每3秒BAASINGA新文件!!(如果添加該文件夾OFC)
我爲你們可以看到漂亮的小白,並具有所有這些線程,並調用問題IM,crossthreads問題,等等......你懂的!
我不問了工作代碼,只是建議和提示,使其成爲一件很酷的事
編輯1:
目前,唯一有錯誤的行是:ThreadPool.QueueUserWorkItem(BackgroundMethod);
錯誤的列表顯示爲: 錯誤1'System.Threading.ThreadPool.QueueUserWorkItem(System.Threading.WaitCallback)'的最佳重載方法匹配有一些無效的參數;
錯誤2參數1:無法從'方法組'轉換爲'System.Threading.WaitCallback';
編輯2:
該方案得到了3個主要類別(不無效的主要LOL),它們分別是:
Form.cs - >在哪裏設置按鈕事件,打電話給我的特殊方法
ViewerManager - >實際上,我不知道這一個...我已經添加了構造函數和Execute方法,從DirectoryManager類調用GetFiles()
DirectoryManager - >這是我的寶貴班,有一個執行(字符串路徑),它調用R eadFiles(路徑)和GetFiles(路徑)..
GetFiles是一個字符串列表,並返回由ReadFiles()填充的_files(字符串列表)。
編輯3:
惡,我得到了它刷新數據網格視圖,但其使用windows.forms.timer ..
mehh任何想法W/O定時器?
OBS:對不起,我的英語可怕和菜鳥般的演技LOL
+1對於bazinga。 – jlafay 2010-12-16 15:34:05