這篇是對應「C# 絕對路徑轉相對路徑」的程式碼所寫的~
目的就是把轉成相對路徑的位址再轉回成絕對路徑
僅供參考 XD。
Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
2010年12月29日 星期三
用 OLEDB 讀寫 Excel 檔
其實原本是要直接讀寫 Excel 的,但時間上來不及讓我慢慢找相關資料
只大概知道可以用Microsoft.Office.Interop.Excel 來做
不過簡單測了一下卻出現 Excel 檔案打不開的問題(疑似是安全性問題之類的?)
另外還可以用 NPOI 函式庫,好像網路上蠻多人都用這個方法的。
用 OLEDB 把 Excel 當做小型資料庫來處理的話
主要缺點就是不支援 DELETE,只能 INSERT 和 UPDATE
所以遇到要 DELETE 時只能建新的 EXCEL,把要保留的 DataRow 都寫過去(INSERT)。
2010年12月2日 星期四
C# TextBox 雙擊、Ctrl+A 全選文字
C# 的 TextBox 控制項預設是沒有 Ctrl+A 可以全選的設計
所以只好一切都自己來了!
public mainForm() { /* 設定雙擊及 Ctrl+A 可全選 TextBox 控制項內的所有文字 */ foreach (Control c in this.groupBox1.Controls) { if (c is TextBox) { c.KeyDown += new KeyEventHandler(allTextBox_KeyDown); c.DoubleClick += new EventHandler(allTextBox_DoubleClick); } } } /* 按下 Ctrl+A 全選文字 */ private void allTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A) ((TextBox)sender).SelectAll(); } /* 雙擊全選文字 */ private void allTextBox_DoubleClick(object sender, EventArgs e) { ((TextBox)sender).SelectAll(); }