本文介紹WPF應用程序實現在屏幕上顯示一行或多行文字通知。它沒有標題欄和最大化最小化等按鈕,可以有半透明背景以使文字的顯示更清晰,鼠標點擊後提示消失。
1. 新建一個WPF Application。
2. 將Window的WindowStyle屬性設置為"None"去掉標題欄,將AllowsTransparency屬性設置為"True"允許透 明,Topmost屬性設置為"True"使提示文字顯示在頂層,Background屬性設置為"#00000000"使窗口透明。
3. 設置Grid的Background屬性。如顯示黑色文字提示,可使用半透明白色背景。透明的效果如果由Opacity屬性產生會使該容器內的其他元素也有透明效果。比較簡單的方法是通過Background屬性的前兩位來設置透明度。
4. 給Window的MouseLeave、MouseDown、MouseEnter事件添加處理方法。添加MouseEnter和MouseLeave事 件的處理方法是為了讓鼠標劃入提示區域時加深背景透明度,鼠標劃出提示區域時減小背景透明度。MouseDown事件的處理方法使鼠標點擊提示區域後取消 提示。
復制代碼 代碼如下:
代碼
/// <summary>
/// 鼠標移入處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Window_MouseEnter(object sender, MouseEventArgs e)
{
Brush brush = new SolidColorBrush(Color.FromArgb(0x78,0xFF,0xFF,0xFF)); // 創建一個純色brush
grid.Background = brush; // 應用於grid
}
/// <summary>
/// 鼠標移出處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Window_MouseLeave(object sender, MouseEventArgs e)
{
Brush brush = new SolidColorBrush(Color.FromArgb(0x52, 0xFF, 0xFF, 0xFF)); // 創建一個純色brush
grid.Background = brush; // 應用於grid
}
/// <summary>
/// 鼠標按下處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
mainWindow.Close(); // 或者使用mainWindow.Hide()隱藏窗口
}
本文適用於 .NET Framework 4