[C#]How to Detect Item Add, Insert, and Remove in a ListBox
有時候我們使用ListBox元件會想要針對Item的新增、插入、與刪除做些反應,可能像是有個Item插入時我們會想把游標移到最下面之類的。但內建的ListBox並未將這樣的訊息開放出來,所以我們無法直接的去做這樣的處理,必須要自行去接收視窗訊息才行。 ...
有時候我們使用ListBox元件會想要針對Item的新增、插入、與刪除做些反應,可能像是有個Item插入時我們會想把游標移到最下面之類的。但內建的ListBox並未將這樣的訊息開放出來,所以我們無法直接的去做這樣的處理,必須要自行去接收視窗訊息才行。 ...
要怎樣才能有效的偵測出檔案是被Lock住,這樣的問題在程式開發時開發人員常常會碰到,筆者看到多半的解法都是試圖去開開看檔案,當檔案無法開啟時就視為檔案被Lock住。這樣的做法雖不算錯,但總是不太精確,因為很多情況都有可能造成開檔錯誤,不見得都能很單純的這樣做判斷。 ...
最近筆者再嘗試實現類似Chrome的程式架構,程式由多個Process組成並協同運作,因此最先要碰到的課題就是要把別的應用程式Process給內嵌到程式內。 ...
筆者最近在做的專案與自己在玩的東西都需要去取出Process的Owner來做些顯示或是判斷,這邊所謂的Owner就是工作管理員中我們所看到的User Name。 ...
最近在評估一個功能,希望能用Windows最近使用的文件檔案做些對應的處理,這邊不想用監控整個檔案系統的方式,也不想要像防毒軟體一樣Hook,因此想到在Windows中有Recent Items這樣的東西,假設我能取得這邊的資訊,應該也就夠我做些處理了。 ...
有使用過.NET程式做視窗訊息的接收的應該都會知道,好像沒有比較直接的方法去設定視窗的ClassName。就算去覆寫Form.CreateParams也不太行,若是指定的ClassName沒有註冊過,運行起來會丟出例外。 ...
最近專案中在用Linq Distinct想要將重複的資料去除時,發現它跟Any之類的方法有點不太一樣,不能很直覺的在呼叫時直接帶入重複資料判斷的處理邏輯,所以當我們要用某個成員屬性做重複資料的判斷時,就必需繞一下路,這邊稍微將處理的方法做個整理並記錄一下。 ...
在.NET程式中開發人員要做壓縮與解壓縮有很多種方法,可以用BCL內建的壓縮類別,或是用 DotNetZip與SharpZipLib之類的第三方元件庫,抑或是使用Windows Shell來做。內建的壓縮方式與第三方元件很多人都做過了介紹,使用上也大概都不是問題,但對於Windows Shell的使用方式可能就比較沒有那麼熟悉,所以這邊筆者稍微簡介一下怎樣用Windows Shell來做Zip檔的壓縮與解壓縮。 ...
這次Sprint有解一個問題,就是我們的專案程式在抓取某些網站的縮圖(像是Yahoo…)時會抓取不到,但是Web版的程式看同一篇貼文卻是OK的,實際查驗了一下發現程式在抓取圖片時會丟出例外導致無法正確將圖片下載下來,例外的訊息大概是這樣的"The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF",查驗了一下網路文章才知道這部份問題可能是違反了以下幾項: ...
有在使用DropBox或是SVN之類的軟體的使用者應該都會注意到,這類型的軟體在透過檔案總管瀏覽時,都會透過icon的變化來明確的告知目前的狀態,既炫又清楚。這樣的功能稱做Shell Icon Overlay,在.NET中我們可以透過SharpShell來輕易的實現這樣的功能。 ...