首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# WinForms 開發 33 實用技巧大全

     編輯:關於C#

DataGrid / DataGridView 技巧

  1. 自訂欄標題:使用 DataGridTableStyle + DataGridTextBoxColumn 設定 MappingName、HeaderText。
  2. 查詢 NULL 值:SQL WHERE Col IS NULL。
  3. 顯示日期僅年月日:SQL CONVERT(varchar(10), DateCol, 120) 或 FORMAT(DateCol, 'yyyy-MM-dd')。
  4. 合併兩欄顯示:DataColumn.Expression = "Col1 + Col2" (SQL Server) / Col1 || Col2 (Oracle)。
  5. 提取括號內文字:Oracle SUBSTR(col, INSTR(col, '(')+1, INSTR(col, ')')-INSTR(col, '(')-1)。
  6. 滾輪不丟失焦點:dataGrid.MouseWheel += (s,e) => dataGrid.Select();。
  7. 匯出 Excel 保留前導零:range.NumberFormat = "@" (文字格式) 或 "0000"。
  8. Excel 匯出完整樣式:邊框 BorderAround/Borders[...]、置中 HorizontalAlignment、列印標題列 PageSetup.PrintTitleRows = "$1:$1"、頁碼 CenterFooter。
  9. 長時間匯出更新 UI:迴圈中呼叫 Application.DoEvents() 處理訊息佇列。

WinForms 控制項技巧

  1. TextBox 接收 Enter:Form 設 AcceptButton 或 KeyPress 判斷 e.KeyChar == (char)13。
  2. ComboBox 僅可選不可輸入:DropDownStyle = DropDownList。
  3. 啟動最大化:WindowState = FormWindowState.Maximized。
  4. 鍵盤 '+' 轉 'A':KeyPress 中 SendKeys.Send("A"); e.Handled = true;。
  5. 程式控制 DataGrid 捲動:SendKeys.Send("{PGUP}") / "^{LEFT}" (Ctrl+左鍵)。
  6. 主從 DataGrid 綁定:子表 DataMember = "ParentTable.RelationName"。

資料庫與 SQL

  1. Oracle NUMBER(15) → SQL Server:numeric(15, 0)。
  2. Like 存儲過程參數:WHERE Col LIKE '%' + @Param + '%'。
  3. 第一個字母 A-Z:WHERE ASCII(SUBSTR(Col,1,1)) BETWEEN ASCII('A') AND ASCII('Z')。

部署與組件

  1. 版本號自動產生:[assembly: AssemblyVersion("1.0.*")]。
  2. 建立強名稱共用組件:sn -k key.snk → AssemblyKeyFile → gacutil /i。
  3. 取得目前組件版本:FileVersionInfo.GetVersionInfo(Process.GetCurrentProcess().MainModule.FileName).FileVersion。
  4. 簡單安裝專案:VS 安裝精靈 → 主輸出 → 建立 → 執行 Setup.exe。
  5. 安裝時建立資料表:自訂 Installer 類別,Override Install 執行內嵌 SQL 腳本。

進階 UI 與資料

  1. TreeView 顯示多層主從:遞迴 DataRow.GetChildRows(relationName) 建立 TreeNode。
  2. Form 間傳值 (委派模式):子 Form 定義 public Action<string> Callback,父 Form 訂閱並顯示對話方塊。
  3. Flash 呼叫外部 EXE:fscommand("exec", "app.exe"),需發布為 EXE 並放入 fscommand 子目錄。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved