C# WinForms 跨執行緒 UI 操作完整指南:Invoke、BeginInvoke 與 SynchronizationContext
核心問題 在 .NET 2.0 之後的版本中,Windows Forms 強制要求 UI 控制項只能在建立它們的執行緒(通常是主 UI 執行緒)上被存取。嘗試從
DevExpress GridControl 顯示 GIF 動畫的完整解決方案
前言 在使用 DevExpress GridControl 開發 WinForms 應用程式時,開發人員常遇到一個問題:預設情況下,GridControl 中的
C# 取得日期屬於當年第幾週:Calendar.GetWeekOfYear 完整用法與文化特性陷阱
核心 API using System.Globalization; public static class DateTimeExtensions {
DevExpress GridView 依條件動態啟用/禁用儲存格編輯器:ShowingEditor 事件封裝與 ToolTip 即時回饋
業務場景 GridView 中「節能功率」欄位僅在「調光狀態」為「節能」時可編輯,其他狀態下禁用編輯並顯示 ToolTip 說明原因。 基礎實作 (事件直寫)
C# 千分位字串轉數值:NumberStyles.AllowThousands 標準解析與單元測試
核心解法 using System; using System.Globalization; public static class StringExten
DevExpress GridView 依可見行索引與可見列索引取得儲存格值擴充方法
需求背景 GridView 經過分組、排序、過濾後,資料源行號與可見行號不一致。需根據可見行索引 (0-based 顯示順序) 與可見列索引 (VisibleC
C# 實作類 Windows 左側伸縮選單效果
前言 Windows 檔案總管左側導覽窗格的伸縮動畫體驗極佳。本文示範如何在 WinForms 中使用 Timer 或 Task.Delay 搭配 Panel.
DevExpress GridView 依行列索引取得 RepositoryItem 擴充方法
需求場景 在 `CustomRowCellEdit` 或滑鼠事件中,需根據可見行索引、可見列索引動態取得該儲存格的編輯器 (`RepositoryItem`),
WinForms 自繪控制項實戰:垂直標籤 TabControl 與色彩下拉框 ComboBox 完整實作
自繪核心概念 設定控制項特定屬性啟用 `OwnerDraw` 模式,處理 `DrawItem` 事件,使用 `Graphics` 繪製文字、圖形、背景,實現標準
.NET 父視窗關閉不影響子視窗:啟動執行緒分離與 VB.NET 專案屬性設定兩大方案
問題根源 WinForms 預設:啟動視窗關閉 → 應用程式結束。若在 Splash Form `FormClosed` 中 `new MainForm().S
C# 與 JavaScript 雙端去除 TextBox 重複項目:LINQ Distinct 與前端即時攔截
需求場景 多行 TextBox 輸入逗號分隔值(如 `111,222,333,111`),要求自動去重,保留首次出現順序。 後端 C# 方案:LINQ Dis
WinForms 鍵盤事件完整解析:KeyDown、KeyPress、KeyUp 觸發順序、屬性差異與組合鍵檢測實戰
事件觸發順序 使用者按下並釋放一個字元鍵 (如 A): 1. KeyDown (e.KeyCode = Keys.A, e.KeyData = Keys
C# 日期字串驗證:DateTime.TryParse 與 TryParseExact 最佳實務
兩大核心方法對比 方法回傳適用場景 DateTime.TryParse(s, out dt)bool + 轉換結果寬鬆解析、使用者輸入、未知格式 DateT
DevExpress GridView 列標題繪製 CheckBox:RepositoryItemCheckEdit 與 CustomDrawColumnHeader 完整實作
效果描述 GridView 某欄(如「選取」)列標題顯示 CheckBox,點擊可全選/取消全選該欄所有列。視覺上同步反映目前勾選狀態。 核心擴充方法 us
C# CLR 記憶體深度剖析:參考型別在堆疊與堆上的佈局圖解
前言 本文聚焦參考型別(類別、介面、委派、陣列、string)在 CLR 執行期的記憶體模型:堆疊上的變數、堆上的物件、方法表、同步區塊索引、型別物件指標。
DevExpress GridView 儲存格編輯驗證擴充方法:ValidatingEditor 事件封裝與工具提示回饋
業務場景 GridView 特定欄位(如「工作狀態」)僅允許預設代碼(-1、0、1、2),使用者輸入非法值時,取消編輯並顯示 ToolTip 提示正確格式。
VB.NET TextBox 智慧感知 (AutoComplete) 實作:自訂資料來源與非同步未找到提示
功能需求 TextBox 輸入時顯示自訂清單建議(AutoCompleteSource.CustomSource)。 輸入不在清單中的文字時,Label 顯示