[记录整理]时钟显示变换底色
2011-12-10 22:12
330 查看
//界面控件之间的跨线程调用,需要委托来处理,否则必定报错。整理代码如下 private System.Windows.Forms.Timer tmr_clock = new System.Windows.Forms.Timer(); private void tmr_clock_Tick(object sender, EventArgs e) { string str; str = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + ":" + DateTime.Now.Second.ToString(); this.newText.Text = str; } private void Form1_Load(object sender, EventArgs e) { tmr_clock.Interval = 500; tmr_clock.Tick += new EventHandler(this.tmr_clock_Tick); Thread thread = new Thread(new ThreadStart(ThreadColChangeProc)); thread.IsBackground = true; thread.Start(); } private void time_Click(object sender, EventArgs e) { colCtrl = !colCtrl; this.Text = "时钟"; tmr_clock.Enabled = true; } #region 设置委托 public delegate void ChangeColHandler(Color col); // 声明委托 private void changeCol(Color col) { if (newText.InvokeRequired == true) { ChangeColHandler set = new ChangeColHandler(changeCol);//委托的方法参数应和changeCol一致 newText.Invoke(set, new object[] { col }); //此方法第二参数用于传入方法,代替形参col //newText.BackColor = col; } else { newText.BackColor = col; } } #endregion public void ThreadColChangeProc() { Random ranCol = new Random(); int R, G, B; while (true) { //while (true) // { R = ranCol.Next(0, 255); G = ranCol.Next(0, 255); B = ranCol.Next(0, 255); changeCol(Color.FromArgb(255, R, G, B)); System.Threading.Thread.Sleep(300); // } } }
相关文章推荐
- stm32f407 学习过程中时钟问题(整理记录)
- 变换显示数据库图片(2/3)
- 修改电话中新通话记录无法立即显示联系人姓名问题
- js入门·动态的时钟,显示完整的一些方法,新年倒计时
- SugarCRM - 如何使打开列表页时,不显示记录
- jsp中以服务器时间作为起始,显示时钟的小程序
- 添加数据记录成功后,如何自动显示该条记录于DBGrid中?
- 毕业设计(二十一)---后台管理添加查询方法,按照xxx,升序/降序,每页显示X条记录
- GridView中空记录不显示表头的解决方案[作者不祥]
- oracle开发之<<SQL Cookbook>>学习笔记整理:第一章 检索记录
- 表A中的记录随时变化,程序显示A数据的界面中如何自动也跟着刷新?
- 学习Discuz! X3.2记录:自定义论坛帖子字段,在门户中显示帖子列表
- 一个表中的Id有多个记录,把所有这个id的记录查出来,并显示共有多少条记录数,用SQL语句及视图、存储过程分别实现。
- 表单数据提交后,数据库记录显示为问号的解决
- 记录并显示网页的最后修改时间
- input text 不显示输入的历史记录
- [整理记录]oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
- 把数据库中的所有记录以一个特定格式的字符显示出来的一个例子
- 多种不同条件的数据统计显示为一条记录
- easyui自定义扩展视图实现功能--------datagrid返回记录为0时显示“没有记录”