用WPF實(shí)現(xiàn)屏幕文字提示的實(shí)現(xiàn)方法
更新時(shí)間:2013年07月26日 10:36:42 作者:
本文介紹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)的其他元素也有透明效果。比較簡單的方法是通過Background屬性的前兩位來設(shè)置透明度。
4. 給Window的MouseLeave、MouseDown、MouseEnter事件添加處理方法。添加MouseEnter和MouseLeave事件的處理方法是為了讓鼠標(biāo)劃入提示區(qū)域時(shí)加深背景透明度,鼠標(biāo)劃出提示區(qū)域時(shí)減小背景透明度。MouseDown事件的處理方法使鼠標(biāo)點(diǎn)擊提示區(qū)域后取消提示。
代碼
/// <summary>
/// 鼠標(biāo)移入處理方法
/// </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)); // 創(chuàng)建一個(gè)純色brush
grid.Background = brush; // 應(yīng)用于grid
}
/// <summary>
/// 鼠標(biāo)移出處理方法
/// </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)); // 創(chuàng)建一個(gè)純色brush
grid.Background = brush; // 應(yīng)用于grid
}
/// <summary>
/// 鼠標(biāo)按下處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
mainWindow.Close(); // 或者使用mainWindow.Hide()隱藏窗口
}
本文適用于 .NET Framework 4
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)的其他元素也有透明效果。比較簡單的方法是通過Background屬性的前兩位來設(shè)置透明度。
4. 給Window的MouseLeave、MouseDown、MouseEnter事件添加處理方法。添加MouseEnter和MouseLeave事件的處理方法是為了讓鼠標(biāo)劃入提示區(qū)域時(shí)加深背景透明度,鼠標(biāo)劃出提示區(qū)域時(shí)減小背景透明度。MouseDown事件的處理方法使鼠標(biāo)點(diǎn)擊提示區(qū)域后取消提示。
復(fù)制代碼 代碼如下:
代碼
/// <summary>
/// 鼠標(biāo)移入處理方法
/// </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)); // 創(chuàng)建一個(gè)純色brush
grid.Background = brush; // 應(yīng)用于grid
}
/// <summary>
/// 鼠標(biāo)移出處理方法
/// </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)); // 創(chuàng)建一個(gè)純色brush
grid.Background = brush; // 應(yīng)用于grid
}
/// <summary>
/// 鼠標(biāo)按下處理方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
mainWindow.Close(); // 或者使用mainWindow.Hide()隱藏窗口
}
本文適用于 .NET Framework 4
相關(guān)文章
asp.net訪問網(wǎng)絡(luò)路徑方法(模擬用戶登錄)
這篇文章主要介紹了asp.net訪問網(wǎng)絡(luò)路徑方法,其實(shí)就是模擬用戶登錄,需要的朋友可以參考下2014-08-08
Asp.NetCore1.1版本去掉project.json后如何打包生成跨平臺(tái)包
這篇文章主要為大家詳細(xì)介紹了Asp.NetCore1.1版本去掉project.json后如何打包生成跨平臺(tái)包 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Coolite Cool Study 3 MVC + Coolite 的實(shí)現(xiàn)代碼
啊,開始以為MVC+Coolite結(jié)合的例子沒什么難度,但原來Coolite在MVC中需要特定設(shè)置一下某些屬性才行,費(fèi)了兩個(gè)小時(shí)才算大功告成,具體請(qǐng)看下文。還是先把這個(gè)例子的效果貼上來再說。2009-05-05
在asp.net中獲取當(dāng)前頁面的URL的方法(推薦)
下面小編就為大家?guī)硪黄赼sp.net中獲取當(dāng)前頁面的URL的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
asp.net用三層實(shí)現(xiàn)多條件檢索示例
三層將項(xiàng)目分為界面層,業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,下面為大家介紹下asp.net如何用三層實(shí)現(xiàn)多條件檢索,感興趣的朋友可以參考下2014-07-07
Chrome內(nèi)核下由ashx輸出的js代碼不起作用的解決方法
Chrome內(nèi)核下由ashx輸出的js代碼不起作用的解決方法,需要的朋友可以參考一下2013-03-03

