腾讯服务器做网站没经验可以做电商运营吗
上位机项目开发过程,应该不少遇见界面同步实时刷新的情况,设备的运行情况以及设备数据的实时更新,应用场景非常之多。
那么这个时候,我们就可以用到C#语言中的一些关键功能来实现,比如事件,委托,有些定时器,甚至一些情况下还可以使用全局变量等等。诸如此类,但是也得看场景使用,所谓没有更好,只有更适合。
C#自定义事件 Action
public static event Action<int> OntimeSetData;public static void SetOntimeData(){//Thread th = new Thread(new ThreadStart(() =>//{// while (true)// {// for (int i = 0; i < 10; i++)// {// OntimeSetData?.Invoke(10 + i);// Thread.Sleep(1000);// }// }//}));//th.Start();Task.Run(() =>{while (true){for (int i = 0; i < 10; i++){OntimeSetData?.Invoke(10 + i);Thread.Sleep(1000);}}}).Start();}
数据展示界面进行事件的初始化订阅,以及通过委托实时的更新控件的值
public FrmParent(){InitializeComponent();ThreadMethodTxt.OntimeSetData += SetText;}public void SetText(int values){this.BeginInvoke(new Action(() =>{this.textBox2.Text = values.ToString();}));}
取消订阅
private void button2_Click(object sender, EventArgs e){ThreadMethodTxt.SetOntimeData();}private void button1_Click(object sender, EventArgs e){ThreadMethodTxt.OntimeSetData -= SetText;}