在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → RTL8290b校准程序

RTL8290b校准程序

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:1.36M
  • 下载次数:10
  • 浏览次数:516
  • 发布时间:2020-12-18
  • 实例类别:C#语言基础
  • 发 布 人:wubizhi0745
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 程序

实例介绍

【实例简介】支持手动校准RTL9601D 8290B 关于BOB驱动

【实例截图】

from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ONU.FunctionMatrix;
using BOSA.Common;
using INIHelper;
using System.IO;
using STD.Terminal;


namespace BOB_RTL_8290_CAL
{
    
    public partial class BOB_RTL_Calibration : Form
    {
        #region 变量声明
        private ONU_RTL_Solution onu;
        private static string INIFilePath = Path.Combine(System.IO.Directory.GetCurrentDirectory()   "\\Config.ini");
        PONConfiguration TestConfig;
        System.Timers.Timer ATimer = new System.Timers.Timer();
        private string onuIP = string.Empty;
        #endregion

        #region 构造函数
        public BOB_RTL_Calibration()
        {
            InitializeComponent();            
            btn_Connect.Enabled = false;
            btn_Disconnect.Enabled = false;
            btn_Initialization.Enabled = false;
            INIFileHelper.FilePath = INIFilePath;
            string[] ININodes = INIFileHelper.INIGetAllSectionNames();
           // Array.Sort(iniNodes);
            foreach(string node in ININodes)
            {
                cbo_Solution.Items.Add(node);
            }
            cbo_Solution.SelectedIndex = -1;
            gpb_Telnet.Enabled = false;
            splitContainer2.Panel2.Enabled = false;
            btn_Rx_2nd.Enabled = false;
            btn_Tx_DDM_CAL.Enabled = false;
            pict_DUT_Online.Image = Resource1.Gray;
            // 禁用线程安全检查
            Control.CheckForIllegalCrossThreadCalls = false;
        }
        #endregion

        #region 委托事件实现函数

        private void EnableTimer()
        {
            ATimer = new System.Timers.Timer();
            ATimer.Interval = 1000;

            // Hook up the Elapsed event for the timer. 
            ATimer.Elapsed  = new System.Timers.ElapsedEventHandler(OnTimedEvent);

            // Have the timer fire repeated events (true is the default)
            ATimer.AutoReset = true;
            // Start the timer
            ATimer.Enabled = true;
        }
        private void DisableTimer()
        {            
            // Hook up the Elapsed event for the timer. 
            ATimer.Elapsed -= OnTimedEvent;
            // Start the timer
            ATimer.Enabled = false;
        }
        internal void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
        {
            if (!PingHelper.PingWithCMD(onuIP))
            {
                btn_Disconnect_Click(null, null);
                ShowTestStepToGUI_Args("离线");
            }
            //ShowTestStepToGUI_Args("online\r\n");
            Application.DoEvents();
        }
        internal void ShowDataToGUI_Args(string data)
        {                       
            if (rtb_Test_Data_Log.InvokeRequired)
            {
                // 当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它
                Action<string> actionDelegate = (x) =>
                {
                    //LimitsRichTextBoxLineCount(ctrl);
                    rtb_Test_Data_Log.AppendText(string.Format("{0}", x));
                    rtb_Test_Data_Log.ScrollToCaret();
                };
                // 或者
                // Action<string> actionDelegate = delegate(string txt) { this.label2.Text = txt; };
                rtb_Test_Data_Log.BeginInvoke(actionDelegate, data);
            }
            else
            {              
                //LimitsRichTextBoxLineCount(ctrl);
                rtb_Test_Data_Log.AppendText(data   "\r\n");
                rtb_Test_Data_Log.ScrollToCaret();
            }            
        }
        internal void ShowTestStepToGUI_Args(string data)
        {
            if (txt_Test_Step.InvokeRequired)
            {
                // 当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它
                Action<string> actionDelegate = (x) =>
                {
                    //LimitsRichTextBoxLineCount(ctrl);
                    if (x.Contains("*"))
                    {
                        txt_Test_Step.SelectionStart = txt_Test_Step.TextLength;
                        txt_Test_Step.SelectionLength = 0;
                        txt_Test_Step.SelectionColor = Color.Red;
                        txt_Test_Step.AppendText(string.Format("{0}\r\n", x));
                    }
                    else
                    {
                        txt_Test_Step.AppendText(string.Format("{0}\r\n", x));
                    }
                    txt_Test_Step.ScrollToCaret();
                
                };
                // 或者
                // Action<string> actionDelegate = delegate(string txt) { this.label2.Text = txt; };
                txt_Test_Step.BeginInvoke(actionDelegate, data);
            }
            else
            {
                //LimitsRichTextBoxLineCount(ctrl);
                if (data.Contains("*"))
                {
                    txt_Test_Step.SelectionStart = txt_Test_Step.TextLength;
                    txt_Test_Step.SelectionLength = 0;
                    txt_Test_Step.SelectionColor = Color.Red;                   
                    txt_Test_Step.AppendText(string.Format("{0}\r\n", data));
                }
                else
                {
                    txt_Test_Step.AppendText(string.Format("{0}\r\n", data));
                }
                txt_Test_Step.ScrollToCaret();
            }
        }
        #endregion

        #region Telnet连接
        private void btn_Connect_Click(object sender, EventArgs e)
        {         
            onu = new ONU_RTL_Solution(TestConfig);
            onu.OnSendDataToGUI_Events  = new DataToGuiEventHandler(ShowDataToGUI_Args);
            onu.OnTestStepToGUI_Events  = new StepToGuiEventHandler(ShowTestStepToGUI_Args);
            if (onu.ConnectDUT(cbo_ONU_IP.Text))
            {
                if (onu.LoginDUT())
                {
                    int portID=onu.ConfirmPortID();
                    if (portID == -1)
                    {
                        onu.Disconnect();
                        ShowTestStepToGUI_Args("***Port ID获取失败***");
                    }
                    lbl_Port_ID.Text = string.Format("Port ID: {0}", portID);
                    PONMode p = onu.PonMode;
                    //cbo_PON_Mode.Text = Enum.GetName(p.GetType(), p);
                    if (p == PONMode.EPON)
                    {
                        btn_Initialization.Enabled = true;
                        btn_Connect.Enabled = false;
                        btn_Disconnect.Enabled = true;
                        splitContainer2.Panel2.Enabled = true;
                        pict_DUT_Online.Image = Resource1.Green;
                        EnableTimer();
                        btn_GPON_Prbs.Enabled = true;
                        btn_GPON_Prbs.Text = "GPON Prbs ON";
                        btn_EPON_Prbs.Enabled = true;
                        btn_EPON_Prbs.Text = "EPON Prbs ON";
                    }
                    else
                    {
                        //onu.Disconnect();
                        cbo_PON_Mode.Text = Enum.GetName(p.GetType(), p);
                        ShowTestStepToGUI_Args("ONU模式不对,请设置");
                    }
                }
                else
                {
                    onu.Disconnect();
                    ShowTestStepToGUI_Args("***产品登录失败***");
                }
            }
            else
            {
                ShowTestStepToGUI_Args("***产品连接失败***");
            }
        }
        #endregion

        #region Telnet断开连接
        private void btn_Disconnect_Click(object sender, EventArgs e)
        {                  
            if(onu.Disconnect())
            {
                pict_DUT_Online.Image = Resource1.Gray;
                DisableTimer();
                ShowTestStepToGUI_Args("产品已断开");               
            }
            else
            {
                ShowTestStepToGUI_Args("***产品断开失败***");
            }

            btn_Initialization.Enabled = false;
            btn_Connect.Enabled = true;
            btn_Disconnect.Enabled = false;
            rtb_Test_Data_Log.Clear();
            splitContainer2.Panel2.Enabled = false;
            ClearControlValue(splitContainer2.Panel2);
      
        }
        #endregion


        #region 工作模式操作

        private void btn_Mode_Get_Click(object sender, EventArgs e)
        {
            if(onu.IsConnected)
                cbo_PON_Mode.Text = Enum.GetName(onu.PonMode.GetType(), onu.PonMode); 
        }
        private void btn_Mode_Set_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                ShowTestStepToGUI_Args("重启");
                onu.PonMode = (PONMode)Enum.Parse(typeof(PONMode), cbo_PON_Mode.Text);               
                onu.Reboot();                
                btn_Disconnect_Click(null, null);         
            }
        }
        #endregion

        #region 初始化
        private void btn_Initialization_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {                
                splitContainer2.Panel2.Enabled = false;
                btn_Initialization.Enabled = false;
                onu.Initialization();
                btn_Initialization.Enabled = true;                
                splitContainer2.Panel2.Enabled = true;
            }            
        }
        #endregion

        #region RichTextBox按键无输入
        private void rtb_Test_Data_Log_KeyDown(object sender, KeyEventArgs e)
        {
            e.Handled = true;
        }

        private void rtb_Test_Data_Log_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;
        }
        #endregion

        #region 芯片方案选择
        private void cbo_Solution_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbo_Solution.SelectedIndex > -1)
            {
                TestConfig.IsLogin = INIFileHelper.INIGetStringValue(cbo_Solution.Text, "登录", "1")=="1"?true:false;
                TestConfig.User = INIFileHelper.INIGetStringValue(cbo_Solution.Text, "用户名", "admin");
                TestConfig.Password = INIFileHelper.INIGetStringValue(cbo_Solution.Text, "密码", "admin");
                TestConfig.R_Upper = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "上拉电阻", "3300"));
                TestConfig.R_Down = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "下拉电阻", "680"));
                TestConfig.RSSI = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "RSSI", "50"));
                TestConfig.CMPD = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "cmpd", "50"));
                TestConfig.LPF = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "lpf", "50"));
                TestConfig.SensitivityTestTime = Convert.ToInt32(INIFileHelper.INIGetStringValue(cbo_Solution.Text, "灵敏度测试时间", "3"));
                cbo_ONU_IP.SelectedIndex = 0;
                gpb_Telnet.Enabled = true;
            }
        }
        #endregion

        #region IP选择
        private void cbo_ONU_IP_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbo_Solution.SelectedIndex > -1)
            {
                onuIP = cbo_ONU_IP.Text;
                btn_Connect.Enabled = true;
            }
        }
        #endregion

        #region GPON码型长发光
        private void btn_GPON_Prbs_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {                
                if (btn_GPON_Prbs.Text == "GPON Prbs ON")
                {
                    ShowTestStepToGUI_Args("GPON长发光");
                    onu.GponPrbsLaserON();
                    btn_GPON_Prbs.Text = "GPON Prbs OFF";
                    btn_EPON_Prbs.Enabled = false;
                    group_EPON_ER.Enabled = false;
                    group_GPON_ER.Enabled = true;
                }
                else
                {
                    ShowTestStepToGUI_Args("关闭GPON长发光");
                    onu.GponPrbsLaserOFF();
                    btn_GPON_Prbs.Text = "GPON Prbs ON";                  
                    btn_EPON_Prbs.Enabled = true;
                    group_EPON_ER.Enabled = true;                    
                }
            }
        }
        #endregion

        #region EPON码型长发光
        private void btn_EPON_Prbs_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                if (btn_EPON_Prbs.Text == "EPON Prbs ON")
                {
                    ShowTestStepToGUI_Args("EPON长发光");
                    onu.EPONPrbsLaserON();
                    btn_EPON_Prbs.Text = "EPON Prbs OFF";
                    btn_GPON_Prbs.Enabled = false;
                    group_EPON_ER.Enabled = true;
                    group_GPON_ER.Enabled = false;
                }
                else
                {
                    ShowTestStepToGUI_Args("关闭EPON长发光");
                    onu.EPONPrbsLaserOFF();
                    btn_EPON_Prbs.Text = "EPON Prbs ON";
                    btn_GPON_Prbs.Enabled = true;
                }
            }
        }
        #endregion

        #region Tx功率调试
        private void btn_Tx_Adjust_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                if (txt_Act_Power.Text == "" || cbo_Target_Power.Text == "")
                {
                    ShowTestStepToGUI_Args("功率输入不能为空");
                }
                else
                {
                    ShowTestStepToGUI_Args("TX功率调试");
                    onu.TransmitterAdjustment(txt_Act_Power.Text, cbo_Target_Power.Text);
                    btn_Tx_DDM_CAL.Enabled = true;
                }
            }
        }
        #endregion

        #region Tx DDM校准
        private void btn_Tx_DDM_CAL_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                 if (txt_Act_Power.Text == "" )
                 {
                     txt_Act_Power.BackColor = Color.Red;
                 }
                 else if (cbo_Target_Power.Text == "")
                 {
                     cbo_Target_Power.BackColor = Color.Red;
                 }
                 else
                 {
                     try
                     {
                         ShowTestStepToGUI_Args("TX DDM校准");
                         onu.TxCalibration(cbo_Target_Power.Text);
                         onu.EnterDiagMode();
                         Single s = onu.ReadTxDDM;
                         onu.ExitDiagMode();
                     }
                     catch (Exception ex)
                     {
                         ShowTestStepToGUI_Args(string.Format("***{0}***", ex.Message));
                     }
                 }
            }
        }
        #endregion

        #region GPON粗调
        private void nud_GPON_Coarse_ValueChanged(object sender, EventArgs e)
        {
             if (onu.IsConnected)
             {
                 int data = Convert.ToInt32(nud_GPON_Coarse.Value);
                 onu.GPON_ER_Coarse(data);
             }
        }
        #endregion

        #region GPON微调
        private void nud_GPON_Fine_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_GPON_Fine.Value);
                onu.GPON_ER_Fine(data);
            }
        }
        #endregion

        #region 交叉点
        private void nud_Crossing_Up_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                 int data = Convert.ToInt32(nud_Crossing_Up.Value);
                 onu.CrossingUP(data);
            }
        }

        private void nud_Crossing_Down_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_Crossing_Down.Value);
                onu.CrossingDown(data);
            }
        }
        #endregion

        #region GPON档位
        private void nud_GPON_Comperc_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_GPON_Comperc.Value);
                onu.GPON_ER_Comperc(data);
            }
        }
        #endregion

        #region EPON粗调
        private void nud_EPON_Coarse_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_EPON_Coarse.Value);
                onu.EPON_ER_Coarse(data);
            }
        }
        #endregion

        #region EPON微调
        private void nud_EPON_Fine_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_EPON_Fine.Value);
                onu.EPON_ER_Fine(data);
            }
        }
        #endregion

        #region EPON档位
        private void nud_EPON_Comperc_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                int data = Convert.ToInt32(nud_EPON_Comperc.Value);
                onu.EPON_ER_Comperc(data);
            }
        }
        #endregion 

        #region BOSA电流
        private void btn_Bosa_Current_Click(object sender, EventArgs e)
        {          
            if (onu.IsConnected)
            {
                onu.EPONPrbsLaserOFF();
                //onu.PonMode = PONMode.GPON;
                //onu.DirectlyWriteCommand("rmmod europa_drv");
                //onu.DirectlyWriteCommand("/bin/sh /etc/scripts/insert_europa.sh");
                onu.GponPrbsLaserON();
                onu.OpenImpedanceMatch();
                txt_Bias.Text = string.Format("{0}", onu.ReadBiasCurrent());
                txt_MOD.Text = string.Format("{0}", onu.ReadModulationCurrent());
                onu.GponPrbsLaserOFF();
            }       
        }
        #endregion

        #region DDM读取

        private void btn_Read_DDM_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {               
                onu.EnterDiagMode();
                txt_DDM_Tx.Text =  string.Format("{0}", onu.ReadTxDDM);
                txt_DDM_Rx.Text = string.Format("{0}", onu.ReadRxDDM);
                this.txt_DDM_Bias.Text = string.Format("{0}", onu.ReadBiasCurrentDDM);
                this.txt_DDM_Temp.Text = string.Format("{0}", onu.ReadTempDDM);
                this.txt_DDM_V.Text = string.Format("{0}", onu.ReadVoltageDDM);
                onu.ExitDiagMode();               
            }
        }
        #endregion

        #region 温度校准

        private void btn_Temp_CAL_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                ShowTestStepToGUI_Args("温度校准");
                int offset = Convert.ToInt32(nud_Temp_Offset.Value);
                onu.TempOffsetSetup(offset);
                Single temp=onu.Europacli_ReadTemp;
                Single bosaTemp = temp - offset;
                txt_Temp.Text = string.Format("{0}℃", temp);
                txt_Bosa_Temp.Text = string.Format("{0}℃", bosaTemp);
            }
        }
        #endregion

        #region Rx DDM校准
        private void btn_Rx_1st_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                if (txt_Rx_1st_Pow.Text!="")
                {
                    try
                    {
                        btn_Rx_1st.Enabled = false;
                        ShowTestStepToGUI_Args("RX DDM校准");
                        onu.ResetRxCALData();
                        onu.RxCalibration(1, txt_Rx_1st_Pow.Text);
                        btn_Rx_2nd.Enabled = true;                       
                    }
                    catch (Exception ex)
                    {
                        ShowTestStepToGUI_Args(string.Format("***{0}***", ex.Message));
                    }
                }
            }
        }

        private void btn_Rx_2nd_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                if (txt_Rx_2nd_Pow.Text!="")
                {
                    try
                    {
                        btn_Rx_2nd.Enabled = false;
                        onu.RxCalibration(2, txt_Rx_2nd_Pow.Text);
                        onu.FinishRxCalibration();
                        onu.EnterDiagMode();
                        Single rxPower = onu.ReadRxDDM;
                        onu.ExitDiagMode();                       
                        btn_Rx_1st.Enabled = true;
                    }
                    catch (Exception ex)
                    {
                        ShowTestStepToGUI_Args(string.Format("***{0}***", ex.Message));
                    }
                }
            }            
        }

        #endregion

        #region Rx LOS调试
        private void btn_Rx_Los_Auto_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                ShowTestStepToGUI_Args("RX LOS调试");
                btn_Rx_Los_Auto.Enabled = false;
                onu.RxLOS_Auto_CAL();
                if (onu.RxLosState)
                {
                    pict_Rx_Los_State.Image = Resource1.Green;
                }
                else
                {
                    pict_Rx_Los_State.Image = Resource1.Red;
                }
                btn_Rx_Los_Auto.Enabled = true;
            }
        }       
        private void nud_Rx_Los_ValueChanged(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {                
                btn_Rx_Los_Auto.Enabled = false;
                onu.RxLOS_HystCAL = Convert.ToInt32(nud_Rx_Los.Value);
                int data = onu.RxLOS_HystCAL;
                if (onu.RxLosState)
                {
                    pict_Rx_Los_State.Image = Resource1.Green;
                }
                else
                {
                    pict_Rx_Los_State.Image = Resource1.Red;
                }
                btn_Rx_Los_Auto.Enabled = true;
            }
        }      
        #endregion

        #region Tx功率文本改变事件
        private void txt_Act_Power_TextChanged(object sender, EventArgs e)
        {
            txt_Act_Power.BackColor = Color.White;
        }

        private void cbo_Target_Power_TextChanged(object sender, EventArgs e)
        {
            txt_Act_Power.BackColor = Color.White;
        }
        #endregion

        #region 灵敏度调试
        private void btn_SEN_Init_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                //ShowTestStepToGUI_Args("转为GPON模式");
                //onu.PonMode = PONMode.GPON;
                ShowTestStepToGUI_Args("关闭EPON PRBS");
                onu.EPONPrbsLaserOFF();
                ShowTestStepToGUI_Args("关闭GPON PRBS");
                onu.GponPrbsLaserON();
                ResetGponSensitivity();
            }
        }
        private void btn_SEN_测试_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                TestGponSensitivity();
            }
        }
        private void ResetGponSensitivity()
        {
            onu.SetRegister("0x022540", "0x0");     /*激活EPON PRBS*/    
            ShowTestStepToGUI_Args("清除PRBS误码计数");
            onu.SetRegister("0x22094", "0x809e");    /*清除PRBS误码计数*/
            ShowTestStepToGUI_Args("开始PRBS误码计数");
            onu.SetRegister("0x22094", "0x409e");   /*开始PRBS误码计数*/
            ShowTestStepToGUI_Args("激活GPON PRBS");
            onu.SetRegister("0x22098", "0x1");      /*激活GPON PRBS*/
            ShowTestStepToGUI_Args("激活EPON PRBS");
            onu.SetRegister("0x022540", "0x30");     /*激活EPON PRBS*/    
            pict_SEN_State.Image = Resource1.Gray;
        }
        private void TestGponSensitivity()
        {
            //ShowTestStepToGUI_Args("清除PRBS误码计数");
            //onu.SetRegister("0x22094", "0x809e");    /*清除PRBS误码计数*/
            //ShowTestStepToGUI_Args("开始PRBS误码计数");
            //onu.SetRegister("0x22094", "0x409e");   /*开始PRBS误码计数*/
            //ShowTestStepToGUI_Args(string.Format("延时{0}秒",TestConfig.SensitivityTestTime));
            //System.Threading.Thread.Sleep(TestConfig.SensitivityTestTime*1000);
            ShowTestStepToGUI_Args("获取PRBS误码状态");
            long errorStatusCounter = Convert.ToInt64(onu.GetRegister("0x220A0"), 16);           /*获取PRBS误码状态*/
            ShowTestStepToGUI_Args("获取PRBS误码计数");
            long errorCounter = Convert.ToInt64(onu.GetRegister("0x2209c"), 16);                 /*获取PRBS误码计数*/
            if(errorCounter==0)
            {
                pict_SEN_State.Image = Resource1.Green;
                onu.SetRegister("0x022540", "0x0");     /*激活EPON PRBS*/    
            }
            else
            {
                pict_SEN_State.Image = Resource1.Red;
            }
        }

        #endregion             

        private void btn_Format_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                onu.FormatAll();
            }
        }

        private void btn_Restory_Factory_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                onu.RestoreFactory();
            }
        }

        private void btn_Reboot_Click(object sender, EventArgs e)
        {
            if (onu.IsConnected)
            {
                onu.Reboot();
                btn_Disconnect_Click(null, null);
            }

        }
        private void ClearControlValue(Control parContainer)
        {
            for(int index=0;index<parContainer.Controls.Count;index  )
            {
                if(parContainer.Controls[index].HasChildren)
                {
                    ClearControlValue(parContainer.Controls[index]);
                }
                else
                {
                    switch(parContainer.Controls[index].GetType().Name)
                    {
                        case "TextBox":
                            parContainer.Controls[index].Text = "";
                            break;
                        case "ComBox":
                             parContainer.Controls[index].Text = "";
                            break;
                        case "NumericUpDown":
                            break;
                    }
                }
            }
        }

    }
}


标签: 程序

实例下载地址

RTL8290b校准程序

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警