2010年12月29日 星期三

C# 相對路徑轉絕對路徑

這篇是對應「C# 絕對路徑轉相對路徑」的程式碼所寫的~
目的就是把轉成相對路徑的位址再轉回成絕對路徑
僅供參考 XD。

用 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();
}