首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

WPF 實現屏幕文字提示:透明無邊框頂層窗口

     編輯:ASP.NET 基礎

實現步驟

  1. 新建 WPF Application 項目。
  2. 設置主窗口屬性:
    • WindowStyle="None" —— 隱藏標題欄
    • AllowsTransparency="True" —— 允許透明
    • Topmost="True" —— 始終顯示在頂層
    • Background="#00000000" —— 窗口完全透明
  3. 設置內容容器(如 Grid)背景為半透明色,例如 #78FFFFFF(前兩位 78 為 Alpha 通道),避免使用 Opacity 導致子元素也透明。
  4. 處理鼠標事件實現交互:
    • MouseEnter:加深背景透明度(如 #78FFFFFF)
    • MouseLeave:恢復較淡背景(如 #52FFFFFF)
    • MouseDown:關閉或隱藏提示窗口

核心代碼(MainWindow.xaml.cs)

/// 鼠標移入:加深背景
private void Window_MouseEnter(object sender, MouseEventArgs e)
{
    Brush brush = new SolidColorBrush(Color.FromArgb(0x78, 0xFF, 0xFF, 0xFF));
    grid.Background = brush;
}

/// 鼠標移出:恢復背景
private void Window_MouseLeave(object sender, MouseEventArgs e)
{
    Brush brush = new SolidColorBrush(Color.FromArgb(0x52, 0xFF, 0xFF, 0xFF));
    grid.Background = brush;
}

/// 鼠標點擊:關閉提示
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
    this.Close(); // 或 this.Hide() 隱藏以便復用
}

適用版本

.NET Framework 4.0 及以上,.NET Core / .NET 5+ 同樣適用。

擴展建議

  • 添加動畫過渡(DoubleAnimation)使顏色變化平滑。
  • 封裝為可復用的 ToastNotification 控件,支持自定義圖標、自動消失計時器。
  • 多螢幕環境下根據鼠標位置動態計算顯示坐標。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved