600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > winform中的UI刷新总结

winform中的UI刷新总结

时间:2024-03-24 16:10:56

相关推荐

winform中的UI刷新总结

C# winform中的UI刷新总结

前言一、管理控件刷新1.创建R_HomeForm.cs2.在Home_Form.cs中设置委托和对应的刷新方法3.方法调用4.定时器和UI刷新总结

前言

winform中的控件刷新是一个非常常见的知识点,可以通过Invoke方法很简单地去实现。在一次产测开发中我就经常遇到控件刷新的很多问题,比如说控件比较多,调用刷新方法频繁的时候我们该怎么操作以及采用自动刷新UI怎么实现。


一、管理控件刷新

为了便于管理每个Form中的控件,并且结合安卓中的R.java文件,可以给每个Form创建一个R_xxForm.cs文件。

1.创建R_HomeForm.cs

代码如下(拿button为例):

public class R_HomeForm{public class Button {public const int idConTips = 0x000;public const int idOKConTips = 0x100;public const string nameConTips = "ConTips";public const int idSoftWareButton = 0x001;public const string nameSoftWareButton = "SoftWareButton";public const int idFlashSizeButton = 0x002;public const string nameFlashSizeButton = "FlashSizeButton";public const int idDDRSizeButton = 0x003;public const string nameDDRSizeButton = "DDRSizeButton";public const int idWIFITestButton = 0x004;public const string nameWIFITestButton = "WIFITestButton";public const int idBTTestButton = 0x005;public const string nameBTTestButton = "BTTestButton";public const int idUARTTestButton = 0x006;public const string nameUARTTestButton = "UARTTestButton";public const int idKeyTestButton = 0x007;public const string nameKeyTestButton = "KeyTestButton";public const int idLEDTestButton = 0x008;public const string nameLEDTestButton = "LEDTestButton";public const int idAMPTestButton = 0x009;public const string nameAMPTestButton = "AMPTestButton";public const int idMICTestButton = 0x00a;public const string nameMICTestButton = "MICTestButton";public const int idRemoteStartButton = 0x00b;public const string nameRemoteStartButton = "RemoteStartButton";public const int idRemoteLearnButton = 0x00c;public const string nameRemoteLearnButton = "RemoteLearnButton";public const int idCMTLearnButton = 0x00d;public const string nameCMTLearnButton = "CMTLearnButton";public const int idZigbeeVersionButton = 0x00e;public const string nameZigbeeVersionButton = "ZigbeeVersionButton";}}

2.在Home_Form.cs中设置委托和对应的刷新方法

代码如下:

//委托方法private delegate void delegateAddText();private delegate void delegateButton();//Button显示public void ShowButton(int id) {switch (id){//刷新按键为Disable模式case R_HomeForm.Button.idConTips:ConTips.Invoke(new delegateAddText(viewShowClass.AddTipsNC));break;case R_HomeForm.Button.idOKConTips:ConTips.Invoke(new delegateAddText(viewShowClass.AddTipsOK));break;case R_HomeForm.Button.idSoftWareButton:SoftWareButton.Invoke(new delegateButton(buttonShowClass.ReVersionButton));break;case R_HomeForm.Button.idDDRSizeButton:DDRSizeButton.Invoke(new delegateButton(buttonShowClass.ReDDRButton));break;case R_HomeForm.Button.idFlashSizeButton:FlashSizeButton.Invoke(new delegateButton(buttonShowClass.ReFlashButton));break;case R_HomeForm.Button.idWIFITestButton:WIFITestButton.Invoke(new delegateButton(buttonShowClass.ReWIFIButton));break;case R_HomeForm.Button.idBTTestButton:BTTestButton.Invoke(new delegateButton(buttonShowClass.ReBTButton));break;case R_HomeForm.Button.idUARTTestButton:UARTTestButton.Invoke(new delegateButton(buttonShowClass.ReUARTButton));break;case R_HomeForm.Button.idLEDTestButton:LEDTestButton.Invoke(new delegateButton(buttonShowClass.ReLEDButton));break;case R_HomeForm.Button.idMICTestButton:MICTestButton.Invoke(new delegateButton(buttonShowClass.ReMICButton));break;case R_HomeForm.Button.idAMPTestButton:AMPTestButton.Invoke(new delegateButton(buttonShowClass.ReAMPButton));break;case R_HomeForm.Button.idKeyTestButton:KeyTestButton.Invoke(new delegateButton(buttonShowClass.ReKEYButton));break;case R_HomeForm.Button.idRemoteStartButton:RemoteStartButton.Invoke(new delegateButton(buttonShowClass.ReRemoteStartButton));break;case R_HomeForm.Button.idRemoteLearnButton:RemoteLearnButton.Invoke(new delegateButton(buttonShowClass.ReRemoteLearnButton));break;case R_HomeForm.Button.idCMTLearnButton:cMTLearnClass.IsTestCMT();CMTLearnButton.Invoke(new delegateButton(buttonShowClass.ReCMTLearnButton));break;case R_HomeForm.Button.idZigbeeVersionButton:ZigbeeVersionButton.Invoke(new delegateButton(buttonShowClass.ReZigBeeVersionButton));break;default:break;}}

3.方法调用

代码如下:

ShowButton(R_HomeForm.Button.idConTips);

4.定时器和UI刷新

定时器方法中调用ShowButton(R_HomeForm.Button.idConTips);会很方便地自动刷新控件,所以我们可以用来监听网络状态,监听设备的状态,当计数器等方面。

总结

在面对一个Form中有很多控件要进行刷新操作的时候我们可以用这种方法区封装和调用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。