摘要:本文主要向大家介绍了C#编程之C# WPF 使用委托修改UI控件,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
本文主要向大家介绍了C#编程之C# WPF 使用委托修改UI控件,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助。
近段时间在自学WPF,是一个完全不懂WPF的菜鸟,对于在线程中修改UI控件使用委托做一个记录,给自已以后查询也给需要的参考:
界面只放一个RichTextBox,在窗体启动时开起两个线程,调用两个函数,每隔1秒写一次当前时间
一 界面XAML如下:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="//schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="//schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
二 在界面启动时开启两个线程:
1 private void Window_Loaded(object sender, RoutedEventArgs e)
2 {
3 //创建线程1
4 Thread t1 = new Thread(new ThreadStart(T1));
5 t1.Start();
6
7 //创建线程2
8 Thread t2 = new Thread(new ThreadStart(T2));
9 t2.Start();
10 }
三 线程调用函数:
///
private void T1()
{
while (true)
{
Thread.Sleep(TimeSpan.FromSeconds(1));
ShowMsg(string.Format("T1 {0}", System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:fff")));
}
}
///
private void T2()
{
while (true)
{
Thread.Sleep(TimeSpan.FromSeconds(1));
ShowMsg(string.Format("T2 {0}", System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss:fff")));
}
}
三 写前端函数:
private void ShowMsg(string sMsg)
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart)delegate() {
richTextBox1.AppendText(string.Format("{0} \r\n",sMsg));
});
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C#.NET频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号