[C#]Adjust a Control's Border Color with ControlPaint.DrawBorder

最近跟UX Team合作體驗到能將設計好的UI完美呈現真是考驗程式人員的能力,UX Team的設計人員考量的細節都跟程式開發人員不同,在某些細節上比程式人員都還講究,就像是控制項的邊框顏色不對都不行。但是幾乎所有的控制項都不具備設定邊框顏色的能力,這該怎麼辦呢?想來想去都只能自己下去繪製控制項的邊框。 ...

November 6, 2013 · Larry Nung

[C#]BigInteger

今天看書才知道原本.NET 3.5中偷藏了一個BinInteger類型,可用來顯示很長的整數。該類型在.NET Framework 3.5 Beta1中就已被加入,但是Release版中該類型被改為Internal類型,導致無法直接使用。根據網路上的資料顯示,據說是微軟認為該類型還有很多問題,因此暫不開放。但我們仍可透過.NET反射機制去使用它。 ...

November 6, 2013 · Larry Nung

[C#]Breaking the 64-Character Limit of NotifyIcon.Text

最近在寫程式時需要將一些資訊顯示在NotifyIcon上,才注意到NotifyIcon.Text有64個字元的限制。 ...

November 6, 2013 · Larry Nung

[C#]Build a Visual Studio-like Output Window Using TraceListener

前陣子花了點時間在為開發中的產品加強除錯的功能,想要讓開發上發生的問題能直接在產品上就一目而然的看到,而不用另行開啟DebugView或是Log來看。簡單地說想要為產品加上類似是Visual Studio的輸出視窗,或者是DebugView類似的功能,能夠很即時的偵測並顯示出系統發出的Debug或是Trace訊息。為了達到這個需求,筆者用內建的TraceListener簡單的試做了一下,這篇隨手紀錄一下。 ...

November 6, 2013 · Larry Nung

[C#]Command Line Parser Library

前陣子為程式加上命令列參數去啟動除錯的功能,先暫時套用筆者之前看到的Brahma Command Line Parser來做到這個需求,用了一陣子還是覺得卡手卡腳的,明明只想帶個簡單的參數進去,卻因為用的solution變得必須要帶較為複雜的參數。因此還是花了一下時間用Command Line Parser Library將他重寫,這篇筆者就稍微簡單的紀錄一下Command Line Parser Library的使用方式。 ...

November 6, 2013 · Larry Nung

[C#]Control the Caret on a Control with ShowCaret & HideCaret

有時候我們會有需要能精確的控制元件是否顯示插入符號,這時可以使用ShowCaret與HideCaret兩個Win32 API來達成這個目的,這兩個API的宣告方式如下: ...

November 6, 2013 · Larry Nung

[C#]Converting Between DateTime and ISO 8601 Format Strings

要從DateTime轉換成ISO8601的格式,在.NET中我們有幾種方式,一種是直接帶入ISO8601的Format,像是: ...

November 6, 2013 · Larry Nung

[C#]Converting Between Point and Pixel Units

最近在跟UI Team合作時碰到一些問題,UI Team畫給我的UI圖中會明確標示元件的位置與要使用的字型,但是UI Team那邊在看的是Pixel,而我這邊看的是Point,當UI Team標明一個元件它裡面要顯示的是字型大小是14 Pixel時,我當下突然不知道該如何下手。看了一下相關的網路文章,大致才了解了其中的轉換,這邊簡單的將之整理紀錄一下。 ...

November 6, 2013 · Larry Nung

[C#]Decode Unicode Character

最近偷閒玩些自己的東西,碰到要解析的資料有像是\u0026這樣的Unicode Character,必須要將之解碼才會變成我們想要的資料。這時候就卡在怎樣做解碼的動作,本來在研究的程式牠是直接將\u0026用"&“取代,這真是髒到我用不下手,所以順手下去研究了一下,找到How to decode “\u0026” in a URL?這篇還不錯的範例。簡單的來說,解碼的動作就是要先取得Unicode Character的後四碼,然後將其從16進位轉換為10進位,再將其數值轉回字元就可以了。像是下面這樣: ...

November 6, 2013 · Larry Nung

[C#]Delete a File and Send It to the Recycle Bin

最近在看網路文章發現這個議題,回想了一下以往在做刪除的動作都是直接刪掉,沒有注意到將刪除的檔案送到資源回收桶要怎樣處理,所以這邊花了點時間玩了一下,並隨手做個筆記。 ...

November 6, 2013 · Larry Nung