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     }
  • 相关阅读:
    我们的回忆

    出差
    恍惚
    七夕
    K8S命令(一)——Node相关
    K8S命令(二)——查询相关
    [转载]为什么你应该(从现在开始就)写博客
    替代JDK日期的开源项目:jodatime
    使用getElementById获取xml中的指定元素
  • 原文地址:https://www.cnblogs.com/94cool/p/2946304.html
Copyright © 2011-2022 走看看