C# MapX 二次開發 (1/1):DataTable 轉 ADO Recordset 完整實作
背景 MapX 為 COM 元件,僅支援 ADO Recordset;C# 慣用 ADO.NET DataTable,需轉換橋接。 轉換類別完整程式碼 pu
C# MapX 二次開發 (2/2):從 Recordset 建立圖層、指定座標欄位、Bitmap 符號顯示
建立圖層四步驟 建立 CMapXFields,對應資料庫欄位新增 Add (名稱、別名、彙總函數、型別)。 建立 CMapXBindLayer,指定
C# 動態產生控制項與事件繫結 (1/1):基礎語法與事件處理器建立
基本步驟 實例化控制項:var btn = new Button(); 設定屬性:Name、Location、Text 等。 繫結事件:btn.C
C# 動態產生控制項與事件繫結 (2/2):WinForms 按鈕動態建立與 Click 事件、ASP.NET Command 事件
WinForms 動態按鈕 private int _btnCount = 0; private void button1_Click(object send
C# 動態產生控制項與事件繫結 (3/3):ParseControl 動態解析標記與 FindControl 繫結事件
關鍵原則 動態控制項與事件繫結不可放在 if (!IsPostBack) 區塊,否則 PostBack 時控制項消失、事件不觸發。 方式一:ParseCont
C# 動態產生控制項與事件繫結 (4/4):AjaxControlToolkit TabContainer 動態加入 TabPanel 與 ITemplate 實作
Page_Init vs Page_Load 動態建立控制項建議放在 Page_Init,避免 ViewState 還原時機問題導致其他按鈕失效 (特別是 Aj
C# 實作檔案管理器 (2/2):主視窗與磁碟機瀏覽介面截圖
主視窗介面 左側樹狀目錄導航、右側 ListView 檔案列表、工具列 (新建/複製/貼上/刪除/重命名/檢視切換)、狀態列。 進入 D 槽磁碟機後 顯示
C# 實作檔案管理器 (3/3):介面截圖展示 (新建檔案/資料夾/文字編輯)
新建檔案對話框 新建資料夾對話框 文字編輯視窗 展示 RichTextBox 編輯區、工具列格式化按鈕 (粗體/斜體/底線)、右鍵選單 (剪下/複製/
C# 實作檔案管理器 (4/4):System.IO 核心類別與 ListView/ImageList 控件詳解
System.IO 核心類別 類別用途 File建立/開啟/複製/移動/刪除/重命名/讀寫屬性 (靜態方法) Directory建立
C# 實作檔案管理器 (5/5):ContextMenuStrip 右鍵選單動態建立與控件介紹
ContextMenuStrip 快速上手 工具箱拖放 ContextMenuStrip 至表單。 2. 目標控制項 (表單、TextBox 等) 的
C# 實作檔案管理器 (6/6):Folder 類別完整程式碼 (目錄操作、複製、刪除)
Folder.cs 核心功能 目錄建立:NewFolder、Enter、CreateDir (含存在檢查)。 路徑解析:DirectoryName 從
C# 實作檔案管理器 (7/7):Txt 類別完整程式碼 (新建、讀寫、編輯、格式化)
Txt.cs 核心功能 檔案操作:NewFile、Enter (Enter 鍵觸發)、Open、Save、SaveAs、DeleteFile、Create
C# 建立不可變、原子性的值型別(二):問題分析與概念定義
分析 class 改為 struct 的理由:資料導向、無行為、小型資料傳值效能較好。接著揭示兩大問題: 資料不一致:屬性賦值中途拋出例外,導致部分欄位已修改
C# 建立不可變、原子性值型別 (3/3):readonly 欄位與建構函式強制一致性
實作不可變值型別 Address $Province: {_province}, City: {_city}, Zip: {_zip}; } 關鍵設計
資料庫儲存文字/圖片檔案:文字編碼轉換方法備忘(一)
大量文字儲存時,為防注入與編碼問題,轉為 UTF-8 位元組陣列再以逗號分隔字串存入資料庫。 文字 → 逗號分隔二進位字串 b.ToString())); }
C# GDI+ 繪圖高階程式設計(一):GDI+ 架構與裝置內容
GDI+ 提供裝置無關繪圖層,隱藏顯示卡差異。核心概念: DC (Device Context):識別輸出裝置、儲存裝置屬性、轉換 API 呼叫為裝置指令。