作者分享了因讀者回饋而反省教學方式的經驗:早期內容概念模糊、缺乏整體模型,導致初學者難以理解。因此決定改變寫作模式——先呈現設計流程圖,再講解核心實作原理,最後提供原始碼供參考,期望降低學習門檻。
實作題目管理(新增、編輯、檢視、刪除、存入題庫)與題庫管理(新增、編輯、檢視、刪除、插入至問卷)功能。
流程說明:使用者向問卷新增題目時,系統先檢查該問卷是否已存在相同題目;若無,再查詢題庫是否已有該題。題庫存在則提示從題庫插入,否則直接新增並詢問是否存入題庫。
本節挑選「新增題目視窗建立」、「排序邏輯」與「視窗間關聯設定」進行實作講解,其餘細節請參考隨附原始碼。
在專案中新增 Windows Form,命名為 TitleAdd,並使其繼承自專案的基底視窗 SurveyWin(而非預設的 Form):
// 修改前
public partial class TitleAdd : Form
// 修改後
public partial class TitleAdd : SurveyWin
繼承基底視窗可統一風格、共用資料庫連線等公用功能。介面佈局請參考下圖與原始碼:
題目新增後需依 title_order 欄位排序顯示。當使用者調整順序時,需更新資料庫中相關題目的順序值,並同步重新整理介面。視窗間的資料傳遞可透過建構函式參數、公開屬性或事件回呼實現,建議採用事件機制降低耦合。
本章完成題目與題庫管理的核心介面架構,示範了表單繼承、動態介面佈局與多視窗協作模式。下一章將進入問卷統計功能的後續實作。