在項目實踐中,我們 可能會遇到需要將一些控制項上顯示的內容只顯示一段時間過後清空。 下麵我們來實現這種操作: 首先需要註意的是:在wpf中涉及到界面操作的話,一定要使用定時器DispatcherTime,DispatcherTimer是為wpf專門設計的,不然的話使用其他種類的定時器會提示界面資源被其 ...
在項目實踐中,我們 可能會遇到需要將一些控制項上顯示的內容只顯示一段時間過後清空。
下麵我們來實現這種操作:
首先需要註意的是:在wpf中涉及到界面操作的話,一定要使用定時器DispatcherTime,DispatcherTimer是為wpf專門設計的,不然的話使用其他種類的定時器會提示界面資源被其他線程所擁有而無法更新界面。
首次我們需要聲明一個DispatcherTimer定時器
private DispatcherTimer showTimer = new DispatcherTimer();
然後綁定定時器要處理的方法
showTimer.Tick += new EventHandler(SetNull);
private void SetNull(object sender,EventArgs e) { label1.Content = ""; }
之後,我們將規定多長時間後觸發定時器綁定的方法,並開啟定時器
showTimer.Interval = new TimeSpan(0, 0, 0, 6); showTimer.Start();
全部代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Threading; using System.Windows.Threading; namespace 使控制項內容顯示一段時間後消失 { /// <summary> /// MainWindow.xaml 的交互邏輯 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private DispatcherTimer showTimer = new DispatcherTimer(); private void Button_Click(object sender, RoutedEventArgs e) { SetLabel("jianjipan,您好"); showTimer.Tick += new EventHandler(SetNull); showTimer.Interval = new TimeSpan(0, 0, 0, 6); showTimer.Start(); } private void SetLabel(string text) { label1.Content = text; } private void SetNull(object sender,EventArgs e) { label1.Content = ""; } } }
實現的效果就是:點擊button按鈕後,在label控制項上會出現“jianjipan,您好”的字元串,過6s之後,label控制項不顯示任何值
源代碼如下:(啊啊啊啊啊 小白,不知道源代碼怎麼上傳,求大神告知)