WPF彈出一個視窗,並自動關閉
最近用WPF做了一個小的demo,由於對於WPF不是很熟悉,在這個過程中遇到不少問題,這篇文章便是針對某個小需求的整理,這個需求便是:在WPF中,如何彈出一個視窗,並讓它定時自動關閉。
我記得我最早的思路是在主視窗中開啟一個執行緒,這個執行緒每隔1s休眠一次,用這個執行緒來控制視窗的顯示和隱藏。那個時候,我不知道WPF中,有一個叫做Timer的類。可想而知,這除錯過程是多麼艱難與糾結……
然而,它用Timer來實現,卻是如此簡單,用以下的小case來展示它的實現:主視窗上一個按鈕,點選按鈕,彈出一個視窗,視窗中顯示一段文字,視窗3秒後自動關閉。
主視窗程式碼:
<Window x:Class="TestForWpf.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="517" Width="842" Background="White" WindowStartupLocation="CenterScreen"> <Grid> <Button Content="Pop up" Height="23" HorizontalAlignment="Left" Margin="58,38,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> </Grid> </Window>
後臺程式碼:
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { PopupWindow win = new PopupWindow(); win.Show(); } }
彈出視窗程式碼:
<Window x:Class="TestForWpf.PopupWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="PopupWindow" Height="211" Width="401" ResizeMode="NoResize" WindowStyle="None" WindowStartupLocation="CenterScreen"> <Grid Background="#dedede" Height="152" Width="359"> <Label Margin="46,44,54,54" Height="40" Content="This is a self-closing window!" VerticalContentAlignment="Bottom" FontSize="18" FontWeight="Bold"></Label> </Grid> </Window>
後臺程式碼:
/// <summary>
/// Interaction logic for PopupWindow.xaml
/// </summary>
public partial class PopupWindow : Window
{
private Timer timer = new Timer(3000);
public PopupWindow()
{
InitializeComponent();
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
timer.Stop();
Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate()
{
this.Hide();
});
}
}
效果圖:
相關推薦
WPF彈出一個視窗,並自動關閉
最近用WPF做了一個小的demo,由於對於WPF不是很熟悉,在這個過程中遇到不少問題,這篇文章便是針對某個小需求的整理,這個需求便是:在WPF中,如何彈出一個視窗,並讓它定時自動關閉。 我記得我最早的思路是在主視窗中開啟一個執行緒,這個執行緒每隔1s休眠一次,用這個執行緒來
js彈出瀏覽器視窗,並指定瀏覽器彈出大小
<!-JavaScript開啟新的瀏覽器視窗,--> <!-window.open([URL],[視窗名稱],[引數字串])-> <!-URL:可選引數,在視窗中要顯示網頁的網址或路徑。如果省略這個引數,或者它的值是空字串,那麼視窗就不顯示任何文件。視窗名稱:可
MFC中按下Buttonbutton,彈出一個窗體的同一時候關閉本窗體
彈出 oda size win button class 隱藏 nbut top ?? CMyDlg *dlg = new CMyDlg(); //新建一個CMyDlg對象 this->ShowWindow(SW_HIDE);
從點選Button到彈出一個MessageBox, 背後發生了什麼
思考一個最簡單的程式行為:我們的Dialog上有一個Button, 當用戶用滑鼠點選這個Button時, 我們彈出一個MessageBox。 這個看似簡單的行為, 誰能說清楚它是如何執行起來的,背後究竟發生了什麼? 下面是我個人嘗試的解答: (1)我們的滑鼠點選事件到達裝置的
開啟app彈出歡迎介面,然後自動跳轉到主介面
//準備跳轉的 Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { //計算
安卓開發 彈出對話方塊,然後自動消失
1.定義全域性變數: AlertDialog dia; 2.呼叫方法: public void dialog2_give_content(String content_str)
父視窗彈出子視窗,子視窗將值返回到父視窗
1、如圖,雙擊訂單號輸入框時彈出銷售記錄查詢子視窗 2、輸入訂單號查詢可以查詢到相應記錄,查詢到後雙擊就可以將對應的資訊顯示到父頁面了 那麼是如何實現的呢? 1、雙擊訂單號input框 &nbs
簡單演示螢幕視窗截圖的兩種方法(MessageBox截圖,並自動關閉)
程式碼中提供了視窗截圖的兩種方法,但是在ScreenCapture.cs檔案中提供了多種螢幕截圖的方法 1、擷取button_click後彈出的視窗; 2、獲取指定標題的MessageBox,截圖,並在一秒鐘後自動關閉。 不貼程式碼了,直接上VS2008的工程了
python PyQt5 實現點選按鈕彈出一個視窗
嘛,我今天就送一下福利吧 請注意:您在下載之前,請確認你下載的是python_UI.rar 1. 實現功能 首介面 點選進入系統後彈出介面 點選程式碼查重後彈出介面
layui button 按鈕彈出提示視窗,確定才進行
<button lay-id="{$id}" class='layui-btn layui-btn-normal correct_finish' onclick="return confirm("
程式執行時,MySQL彈出一個taskeng.exe. 內容如下: 關閉定時任務就可以
程式執行時,MySQL彈出一個taskeng.exe. 內容如下:=====================Start Initialization====================MySQL Installer is running in Community mod
android中監聽軟鍵盤的彈出與隱藏,並獲取軟鍵盤的高度
最近專案中有一個需求上彈出軟鍵盤的時候,輸入框位移至輸入框上方,但是Activity中其他的VIew都不動。這個需求需要監聽軟軟鍵盤的彈出與隱藏,並獲取鍵盤的高度。上網找了一下發現,Android竟然沒有提供相應的介面。網上找到的替代方法中最常用的就是自定義根試圖從寫on
Android 開啟手機淘寶,並自動識別淘口令,彈出商品資訊
前言:大家都遇到過被莫名其妙拉進一個微信群,然後群主開始發一些商品的連結,我們點選這個連結,會讓我們複製一個口令(就像這個¥AzZK0hPyou5¥),當我們複製這個口 令開啟淘寶會自動彈出這個商品的資訊。今天,就來和大家分享一下,這個需求是如何實現的。 1.首先我們需要
彈出一個登入層,並對登入進行校驗
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="彈出層.aspx.cs" Inherits="彈出層" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
實現彈出一個隱藏的div視窗,body頁面變成灰色並且不可被編輯
當需要實現如下圖操作,點選服務評分,出現一個服務評分視窗用來填入相關表單資訊 可是這會讓我們開啟服務評分介面時還可以點選body主介面中的購物車等連結,這是不對的,因此我們可以使用層疊樣式表來指定外圍
定義一個含有30個整型元素的數組,按順序分別賦予從2開始的偶數;然後按順序每五個數求出一個平均值,放在另一個數組中並輸出
utf-8 http 效果圖 har ++ [] utf 下標 javascrip <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title><
每天00:00,MySQL定時彈出一個taskeng.exe
end host led 問題 start win cat 運行時 update 程序運行時,MySQL彈出一個taskeng.exe. 內容如下:=====================Start Initialization====================My
如何用jQuery實現彈出一個層然後過3秒鐘後自動變淡然後消失
<!DOCTYPE HTML> < html > < head > < meta charset = UTF -8> &l
zTree 資料載入前,彈出一個載入頁面提醒
jsp頁面新增一個div <div id="Loading"><span style="font-size:30px ;color:#EBF7EE">正在載入,請稍候……</span></div> <script> $(f
python學習之網站的編寫(HTML,CSS,JS)(十五)----------示例,彈出一個背景為半黑色,前面是白框的彈窗功能(已經編好的框架)
效果圖,程式碼直接可應用,按自己的需要在其中加入想要的內容: 程式碼及講解: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <