Windows Form Designer

Visual Studio 提供給 Windows Form 開發者一個非常方便的視覺化工具來安排圖形化使用者介面的展示,在大部份不太複雜的狀況下只要拿滑鼠拖來拉去的就可以安排好你所想要展示的畫面,但究竟這些個控制項的定義是存放在哪裡?答案就是Form Desinger檔案。

...繼續閱讀 »

Split的弔詭

Split有一些令人覺得很奇妙的特質,這篇文源自於MSDN論壇上的一個發問 :【請教】關於 SPlit 跟 陣列長度 ,就寫個小文章來解釋一下。

...繼續閱讀 »

卡到陰事件簿歡樂團圓大結局

承上篇[X64 , Access MDB 與 卡到陰],如果不知道前因後果的人可以去看一下,雖然我很嘴硬地說沒有要說明技術性的問題,而採用暫時性方案 (也就是乾脆直接裝在System Volumn下) 解決,不過實際上自己是非常想要找出真正地原因與解決之道。

...繼續閱讀 »

X64 , Access MDB 與 卡到陰

這一陣子在寫一個指紋機的考勤軟體,由於考慮到這軟體必須要使用者自己安裝,並且沒有多人操作的需求,所以就決定使用Access 2003的mdb檔來當做資料庫,也因為這樣整個程式只能編譯成X86版本,沒想到苦難就這樣開始了。

...繼續閱讀 »

[ADO.NET] Open/Close Connection對效能的影響測試

這個測試使用的是Access的資料檔案與 OleDb 相關類別,雖然過去就知道不斷地Open/Close OleDbConnection會影響效能,不過由於很少用Access而且使用 SqlDb相關類別時有Bulk可以用,所以從來也沒有想過倒底會產生多大的影響,所以就很無聊地寫了一個測試程式來測看看真實的效能影響數據。

...繼續閱讀 »

一個回傳 500 Internal Server Error的故事

最近在寫一個要將系統事件藉由簡訊平台發送到手機簡訊的軟體,我想說這玩意以前我就寫過應該不會太難,以前都用Every8D的平台寫,從來沒出過毛病,不過這一次的需求比較特殊,因為是政府單位(我猜應該是某個XX事務所),人客要求說要使用「全國XX即時訊息發送中心」發送訊息之URL API 平台發送簡訊,一開始看到範例的時候就傻眼了,因為那個範例是Java的,幸好朋友多,半問半猜之下也把測試的程式碼拼湊出來。

...繼續閱讀 »

在類別庫專案中將列舉型別定義在命名空間

七月是個令人歡欣鼓舞的月份,許多朋友這幾天都接到微軟通知獲選或是連任MVP的通知,雖然在噗浪已經狂賀一輪了,在這邊還是要恭喜他們,很開心他們的努力有獲得微軟的認可。言歸正傳,因為這幾天在改以前寫的類別庫,突然讓我想起為何 .Net中的列舉都是在命名空間﹝Namespace﹞中,而我的都寫在類別裡面;是不是自訂類別庫不能將列舉放在命名空間中呢?

...繼續閱讀 »

多執行緒初探--使用BackgroundWorker(1)

.Net Framework在多執行緒的支援上提供了許多方便的類別,而BackgroundWorker則是一項非常容易用來撰寫多執行緒的類別, 它不僅和System.Windows.Forms.Timer一樣也在工具箱提供了可拖曳使用的元件,並且提供了ProgressChanged事件使得更動主畫面控制項可以不需藉由Control.Invoke﹝有些時候Invoke的概念對初學者會有或多或少邏輯上的困擾﹞,個人覺得這個元件滿適合初學者當做撰寫多執行緒的入門。

...繼續閱讀 »

DataGridView Rows Copy

這一篇談一個小小的技巧,最近也常在MSDN看過類似的問題,許多同好都會提出如何把一個DataGridView的Row複製到另一個DataGridView,所以就想寫一個小小的範例讓需要的人參考。

...繼續閱讀 »

回呼的秘密花園《State Object》

.NET提供了許多回呼的方法使得撰寫多執行緒與非同步的程式變的較為簡單,像是ThreadPool.QueueUserWorkItem、Socket與其衍生類別的Beginxxxx、ADO.NET中的SqlCommand.Beginxxxxx等等。而這些方法通常在其多載函式中其中至少會有一個具備了State Object,當我剛開始撰寫這一類程式的時候,一直無法弄清楚這個State Object的作用,所以想要特別用簡單的方式來介紹這個Object的用途。

...繼續閱讀 »

Try Catch能幫你做什麼(4)?

第四篇來談談用Try Catch來避免必然會發生的問題,一開始我在建立這個系列文章的原因是因為常再MSDN看到許多.Net同好們問的問題所引發的靈感,因為許多同好對於Try Catch並沒有特別的重視其例外訊息所帶給程式撰寫者的提示,所以往往會被這些例外狀況困住;而另一種情況則是引發了必然發生的例外,卻沒想到使用Try Catch來閃躲這個例外,這也就是這一篇的主要討論範圍。

...繼續閱讀 »

Try Catch能幫你做什麼(1)?

看到這個標題大概很多人會笑出來:「廢話!當然是除錯!」。是的,Try Catch最主要的功能就是除錯,而這檔事也是初學者應該要列為首要學習的事情之一,所以我想特別談談這件事情。

...繼續閱讀 »