zoukankan      html  css  js  c++  java
  • c# Winform UI异步委托

     1 public class UISync
     2     {
     3         private static ISynchronizeInvoke Sync;
     4 
     5         public static void Init(ISynchronizeInvoke sync)
     6         {
     7             Sync = sync;
     8         }
     9 
    10         public static void Execute(Action action)
    11         {
    12             Sync.BeginInvoke(action, null);
    13         }
    14     }
    15 
    16     public partial class Form1 : Form
    17     {
    18         TrackBar trackBar1 = new TrackBar();
    19         Label lblTime = new Label();
    20         Label lblDuration = new Label();
    21 
    22         public Form1()
    23         {
    24             UISync.Init(this);
    25         }
    26 
    27         void Events_PlayerStopped(object sender, EventArgs e)
    28         {
    29             UISync.Execute(() => InitControls());
    30         }
    31 
    32         void Events_MediaEnded(object sender, EventArgs e)
    33         {
    34             UISync.Execute(() => InitControls());
    35         }
    36 
    37         private void InitControls()
    38         {
    39             trackBar1.Value = 0;
    40             lblTime.Text = "00:00:00";
    41             lblDuration.Text = "00:00:00";
    42         }
    43 
    44         void Events_TimeChanged(object sender, EventArgs e)
    45         {
    46             UISync.Execute(() => lblTime.Text = TimeSpan.FromMilliseconds(DateTime.Now.Millisecond).ToString().Substring(0, 8));
    47         }
    48 
    49         void Events_PlayerPositionChanged(object sender, EventArgs e)
    50         {
    51             UISync.Execute(() => trackBar1.Value = (int)(88 * 100));
    52         }
    53 
    54 
    55         void Events_DurationChanged(object sender, EventArgs e)
    56         {
    57             UISync.Execute(() => lblDuration.Text = TimeSpan.FromMilliseconds(DateTime.Now.Millisecond).ToString().Substring(0, 8));
    58         }
    59     }
  • 相关阅读:
    with check option(视图 )
    @@ERROR
    事务处理
    含有自增序列的表中使用truncate与delete的不同结果
    Oracle中的通配符
    Java方法重载
    java递归方法
    Oracle中的for语句
    Uboot 2014.07 makefile分析
    linux内核目录结构
  • 原文地址:https://www.cnblogs.com/94cool/p/2946304.html
Copyright © 2011-2022 走看看