本文介紹WPF應(yīng)用程序?qū)崿F(xiàn)在屏幕上顯示一行或多行文字通知。它沒有標(biāo)題欄和最大化最小化等按鈕,可以有半透明背景以使文字的顯示更清晰,鼠標(biāo)點(diǎn)擊后提示消失。
1. 新建一個(gè)WPF Application。
2. 將Window的WindowStyle屬性設(shè)置為"None"去掉標(biāo)題欄,將AllowsTransparency屬性設(shè)置為"True"允許透明,Topmost屬性設(shè)置為"True"使提示文字顯示在頂層,Background屬性設(shè)置為"#00000000"使窗口透明。
3. 設(shè)置Grid的Background屬性。如顯示黑色文字提示,可使用半透明白色背景。透明的效果如果由Opacity屬性產(chǎn)生會(huì)使該容器內(nèi)的其他元素也有透明效果。比較簡(jiǎn)單的方法是通過(guò)Background屬性的前兩位來(lái)設(shè)置透明度。
4. 給Window的MouseLeave、MouseDown、MouseEnter事件添加處理方法。添加MouseEnter和MouseLeave事件的處理方法是為了讓鼠標(biāo)劃入提示區(qū)域時(shí)加深背景透明度,鼠標(biāo)劃出提示區(qū)域時(shí)減小背景透明度。MouseDown事件的處理方法使鼠標(biāo)點(diǎn)擊提示區(qū)域后取消提示。
1 /// <summary> 2 /// 鼠標(biāo)移入處理方法 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void Window_MouseEnter(object sender, MouseEventArgs e) 7 { 8 Brush brush = new SolidColorBrush(Color.FromArgb(0x78,0xFF,0xFF,0xFF)); // 創(chuàng)建一個(gè)純色brush 9 grid.Background = brush; // 應(yīng)用于grid 10 } 11 12 /// <summary> 13 /// 鼠標(biāo)移出處理方法 14 /// </summary> 15 /// <param name="sender"></param> 16 /// <param name="e"></param> 17 private void Window_MouseLeave(object sender, MouseEventArgs e) 18 { 19 Brush brush = new SolidColorBrush(Color.FromArgb(0x52, 0xFF, 0xFF, 0xFF)); // 創(chuàng)建一個(gè)純色brush 20 grid.Background = brush; // 應(yīng)用于grid 21 } 22 23 /// <summary> 24 /// 鼠標(biāo)按下處理方法 25 /// </summary> 26 /// <param name="sender"></param> 27 /// <param name="e"></param> 28 private void Window_MouseDown(object sender, MouseButtonEventArgs e) 29 { 30 mainWindow.Close(); // 或者使用mainWindow.Hide()隱藏窗口 31 } |
作者:諸建俊
博客地址:http://www.cnblogs.com/snowdream/
原文鏈接:http://www.cnblogs.com/snowdream/archive/2011/02/19/wpf-screen-tip.html
聲明:本網(wǎng)部份文章為轉(zhuǎn)載文章,在每篇文章底部有說(shuō)明,文章的觀點(diǎn)和立場(chǎng)僅代表作者個(gè)人立場(chǎng),不代表微網(wǎng)立場(chǎng),若是文章轉(zhuǎn)載中有侵范您的權(quán)益,請(qǐng)發(fā)郵件到 [email protected]或致電13922854199通知?jiǎng)h除,謝謝!
免費(fèi)電話 免費(fèi)熱線:400-830-8248
微信咨詢
注冊(cè)開店