Crystal Reports 入門:建立第一張報表完整步驟 (ADO.NET 資料集模式)
Crystal Reports 是經典的 .NET 報表工具。本文以 Visual Studio 專案為例,示範從資料庫連線、建立報表檔 (.rpt)、設計版面
C# WinForms 子執行緒更新 ProgressBar 完整範例 (Invoke / SynchronizationContext)
WinForms 控制項具有執行緒親和性,只能在建立它們的 UI 執行緒存取。子執行緒若直接操作 ProgressBar.Value 會拋出 InvalidOp
C# 保留小數位數完整指南:Round、Format、ToString 多種方法比較
C# 中格式化數值保留小數位數的方法眾多,行為細節 (四捨五入模式、尾數處理、文化特性) 差異較大。本文整理 6 種主流方法、百分比格式化、常見陷阱與最佳實務建
C# 淺拷貝與深拷貝完整解析:MemberwiseClone、ICloneable、序列化、反射四大實作模式
物件拷貝是 C# 開發常見需求,但「賦值 (=)」、「淺拷貝」、「深拷貝」三者行為差異巨大,搞混會導致資料共享異常。本文系統整理四種主流深拷貝實作模式,並釐清常
C# 資料存取框架 FaibClass.Data 核心架構解析:DataHelper、BaseModel、BaseDataAccess、配置驅動
框架定位 FaibClass.Data 是輕量級 ADO.NET 封裝框架,支援 SQL Server、Oracle、OleDb (Access)、MySQL
C# WinForms 主從清單框架 BaseTreeListForm:樹狀分類、分頁、導入導出、報表整合完整架構
設計定位 BaseTreeListForm 是 WinForms 業務模組的「主視窗」基類,整合: 左側樹狀分類(支援多層、延遲載入)。 右側資料清單
C# WinForms 編輯視窗框架 BaseEditForm:新增/修改統一、驗證、實體綁定完整實作
設計目標 統一「新增」與「修改」邏輯: 單一視窗類別處理兩種模式,由 Info 屬性判斷(null=新增,非 null=修改)。 欄位驗證、實體綁定、
C# WinForms 查詢視窗框架 BaseQueryForm:配置驅動動態查詢與結果顯示
設計目標 提供標準化查詢視窗: 動態產生查詢條件 UI(文字框、下拉、日期、枚舉)。 支援多種查詢邏輯(AND/OR、等於/模糊/範圍)。 結果清
C# WinForms RDLC 報表框架:BaseReportForm 完整設計與配置驅動開發
設計目標 封裝 Microsoft.Reporting.WinForms.ReportViewer,提供: 統一報表標題、頁首/頁尾、頁邊距、紙張方向配置
ASP.NET Repeater 巢狀綁定實作自訂月曆控制項完整教學
為什麼不用內建 Calendar 控制項? 樣式客製化困難(表格結構固定、CSS 類別有限)。 無法直接綁定資料庫行程/事件資料。 跨月導航需 P
C# ManualResetEvent 與 AutoResetEvent 執行緒同步完整實戰指南
兩大事件等待控制項比較 特性ManualResetEventAutoResetEvent 信號狀態手動控制:Set() 開啟
C# List<int[]> 元素比較與查找:正確使用 Find 搭配自訂相等比較
問題場景 List<int[]> 存放整數陣列,呼叫 Contains(new int[] {1,2,3}) 永遠回傳 false,因為陣列為參考型
C# 類別建構函式完整解析:預設、多載、靜態、私有與繼承規則
什麼是建構函式? 建構函式是類別實例化時自動執行的特殊方法,負責初始化物件狀態(欄位賦值、資源配置、驗證不變條件)。語法特徵:名稱與類別相同、無回傳型別(甚至不
ASP.NET Server.MapPath 相對路徑對照表與檔案上傳實戰
Server.MapPath 核心規則 Server.MapPath(相對路徑) 將虛擬路徑(相對於網站根目錄或當前頁面)轉換為伺服器實體絕對路徑。回傳值以 \
C# 模態視窗中跨執行緒更新 ProgressBar 完整解決方案
問題核心 Form.ShowDialog() 會阻塞呼叫執行緒(通常是 UI 執行緒),導致後續程式碼無法執行;但長時間工作又需要即時更新模態視窗上的 Prog
C# 預處理器指令完整指南:#define、#if、#region、#line 實戰應用
什麼是預處理器指令? C# 編譯器在正式編譯前,先由預處理器處理以 # 開頭的指令:條件編譯、符號定義、錯誤警告、程式碼區塊摺疊、行號控制等。注意:C# 無巨集