C# 類別初始化順序深度解析:欄位初始化與建構子執行的真相
經典面試題:輸出什麼? Console.WriteLine(Derived ctor); } new Derived(); 實際輸出 Foo ctor
C# 製作不規則按鈕:依據圖片透明區域建立點擊熱區
核心原理 WinForms 控制項的 Region 屬性決定其可見與可點擊區域。透過掃描位圖每一列像素,將不透明像素連續區段加入 GraphicsPath,再建
C# 啟動外部進程的三種常見模式:Process.Start 完整指南
命名空間:System.Diagnostics 模式一:啟動並忘記 // 最簡單:啟動預設關聯程式開啟檔案/網址 Process.Start(calc.ex
C# 發送電子郵件:SmtpClient 完整實作與常見坑點解析
核心類別:System.Net.Mail.SmtpClient + MailMessage .NET 2.0+ 建議使用 System.Net.Mail 命名空
C# 將 DataSet 匯出為 Excel/Word:多種實作策略完整比較
三種主流匯出策略 策略優點缺點適用場景 Interop (COM 自動化)完整支援 Excel/Word 所有功能、格式精確需安裝 Office、效能差、伺服
C# 實作 MD5 雜湊加密:標準寫法與效能優化
標準實作(.NET Framework / .NET Core 通用) using System; using System.Security.Cryptogr
C# 向 Visual FoxPro (VFP) DBF 寫入 Numeric 欄位:DataType Mismatch 解決方案
問題現象 使用 OdbcDataAdapter 將 DataTable 寫入 VFP DBF 時,Numeric(16,0) 欄位指派 Convert.ToDe
C# 捕獲主控台關閉事件:SetConsoleCtrlHandler 完整實作
應用場景 主控台應用程式在伺服器長時間運行,可能因使用者關閉視窗、登出、系統關機等原因被終止。透過 Win32 API SetConsoleCtrlHandle
C# 操作 Word 2007 文件:使用 Microsoft.Office.Interop.Word 完整範例
前置準備 安裝 Microsoft Office(含 Word) 專案加入參考:Microsoft.Office.Interop.Word(COM 標籤) 引
C# 建立不規則視窗:使用 GDI+ Region 實作自訂表單形狀
核心原理:SetWindowRgn + CreatePolygonRgn Windows 允許視窗擁有非矩形區域(Region)。透過 gdi32.dll 的
C# 呼叫 C++ 撰寫的 DLL:P/Invoke 完整實作指南
前言:跨語言互操作的橋樑 C# 透過 System.Runtime.InteropServices 命名空間提供的 P/Invoke 機制,可直接呼叫非受控 C
C# Timer 定時執行作業:從每秒到每日精確排程
使用 System.Timers.Timer 實作排程 System.Timers.Timer 是伺服器端常用的定時器,支援 Elapsed 事件、精確的 In
.NET 非同步 Socket 程式設計:從 BeginAccept 到 P2P 實作
為什麼需要非同步 Socket? 傳統阻塞式 Accept() 會凍結主執行緒,導致 UI 無回應。.NET Socket 類別內建非同步模式(APM),透過
揭開 Socket 程式設計的面紗:從 TCP/IP 到實作範例
前言:網路程式設計的基石 TCP/IP、UDP、Socket 這幾個詞彙幾乎是每位後端開發者的必修課。隨著雲端與微服務普及,理解它們的運作機制比以往更重要。本文
在 SpiderMonkey 中建立可呼叫的非函數物件
前言 在使用 C 語言嵌入 SpiderMonkey JavaScript 引擎時,有時需要建立一個「可被呼叫」的物件,但它並非標準的 Function 物件。
C# 實作類 QQ 截圖工具 (1/3):需求分析、架構設計、MyRectangle 類別定義
專案背景 公司環境限制安裝軟體,需自製截圖工具。參考 QQ 截圖流程:全螢幕截圖做背景 → 繪製可拖曳、可縮放選區矩形 → 雙擊/Enter 完成截取 → 存入
C# 實作類 QQ 截圖工具 (2/3):MyRectangle 核心類別完整程式碼
MyRectangle 類別職責 封裝主選區矩形與 8 個控制點小矩形 (四角 + 四邊中點)。 追蹤滑鼠狀態:繪製中、移動中、縮放中 (8 方向)。 提供反
C# 實作類 QQ 截圖工具 (3/3):熱鍵註冊、系統匣、單一實例、完整整合
熱鍵註冊 (P/Invoke) public static class HotKey { [DllImport(user32.dll, SetLast