PopupWin 是一款開源的 Windows Forms 彈出提示控件,模擬系統通知區氣泡提示,提升桌面應用用戶體驗。本文匯總核心屬性、典型用法與佈局技巧。

| 屬性 | 類型 | 說明 | 默認值 |
|---|---|---|---|
| AutoShow | bool | 是否自動顯示 | false |
| DockModel | enum | 停靠位置:BottomLeft / BottomRight | BottomRight |
| ColorStyle | enum | 內置配色:Red, Blue, Green, Violet, Custom | Blue |
| HideAfter | int | 自動隱藏延遲(秒) | 5 |
| ShowLink | bool | 是否顯示超鏈接 | true |
| PopupSpeed | int | 淡入/淡出動畫速度 | 中等 |
| OffsetX / OffsetY | int | 相對停靠位置的像素偏移 | 0 |
| Title | string | 標題文本(粗體顯示) | "" |
| Text / Message | string | 正文內容 | "" |
| Link | string | 點擊鏈接導航的 URL | "" |
| LinkTarget | string | 鏈接目標框架(_blank/_self 等) | _blank |
var popup = new PopupWin();
popup.Title = "新郵件到達";
popup.Text = "您有 3 封未讀郵件";
popup.Message = "發件人: Alice, Bob, Charlie";
popup.Link = "https://mail.example.com";
popup.DockModel = DockModel.BottomRight;
popup.ColorStyle = ColorStyle.Green;
popup.HideAfter = 10;
popup.PopupSpeed = PopupSpeed.Fast;
popup.OffsetX = -20; // 向左微調
popup.AutoShow = true; // 設置為 true 瞬間彈出


ColorStyle = Custom 時,處理 Paint 事件自繪背景/邊框/文字。LinkClicked 事件,在代碼中處理導航邏輯(如調用默認瀏覽器、打開應用內頁面)。DockModel 基於主螢幕工作區,多螢幕環境下可通過 Screen.FromControl(this) 計算偏移。AutoShow=true 或調用 Show() 方法;檢查是否被其他頂層窗口遮擋。PopupSpeed 或關閉動畫(若控件支援)。