private void cmdPrevious_Click(object sender, EventArgs e)
        {
            if (null != m_Command)
            {
                System.Byte[] cResult = null;
                if (HEXBuilder.HEXStringToByteArray(txtCommand.Text, ref cResult))
                {
                    //! legal input
                    m_Command.Command = cResult[0];
                }
            }

            frmCommandWizardStepB CommandWizard = new frmCommandWizardStepB(m_Command);

            this.Hide();
            CommandWizard.Show();
            this.Dispose();
        }
        private void cmdNext_Click(object sender, EventArgs e)
        {
            ESCommand tempCommand = null;

            switch (combCommandType.SelectedIndex)
            {
            case 0:                 //!< Just command
                if (m_Command.Type != BM_CMD_TYPE.BM_CMD_TYPE_NO_PARAMETER)
                {
                    tempCommand             = new ESCommand();
                    tempCommand.Address     = m_Command.Address;
                    tempCommand.Command     = m_Command.Command;
                    tempCommand.ID          = m_Command.ID;
                    tempCommand.Description = m_Command.Description;
                    tempCommand.TimeOut     = m_Command.TimeOut;
                    tempCommand.CommandWizardReportEventHandler = m_Command.CommandWizardReportEventHandler;
                    tempCommand.CommandRemovedEventHandler      = m_Command.CommandRemovedEventHandler;
                    tempCommand.IsPureListener = m_Command.IsPureListener;
                    m_Command = tempCommand;
                }
                break;

            case 1:                 //!< Write word
                if (m_Command.Type != BM_CMD_TYPE.BM_CMD_TYPE_WORD_WRITE)
                {
                    tempCommand             = new ESCommandWriteWord();
                    tempCommand.Address     = m_Command.Address;
                    tempCommand.Command     = m_Command.Command;
                    tempCommand.Data        = m_Command.Data;
                    tempCommand.ID          = m_Command.ID;
                    tempCommand.Description = m_Command.Description;
                    tempCommand.TimeOut     = m_Command.TimeOut;
                    tempCommand.CommandWizardReportEventHandler = m_Command.CommandWizardReportEventHandler;
                    tempCommand.CommandRemovedEventHandler      = m_Command.CommandRemovedEventHandler;
                    tempCommand.IsPureListener = m_Command.IsPureListener;
                    m_Command = tempCommand;
                }
                break;

            case 2:                 //!< Read word
                if (m_Command.Type != BM_CMD_TYPE.BM_CMD_TYPE_WORD_READ)
                {
                    tempCommand             = new ESCommandReadWord(m_Command.Data);
                    tempCommand.Address     = m_Command.Address;
                    tempCommand.Command     = m_Command.Command;
                    tempCommand.ID          = m_Command.ID;
                    tempCommand.Description = m_Command.Description;
                    tempCommand.TimeOut     = m_Command.TimeOut;
                    tempCommand.CommandWizardReportEventHandler = m_Command.CommandWizardReportEventHandler;
                    tempCommand.CommandRemovedEventHandler      = m_Command.CommandRemovedEventHandler;
                    tempCommand.IsPureListener = m_Command.IsPureListener;
                    m_Command = tempCommand;
                }
                break;

            case 3:                 //!< Write block
                if (m_Command.Type != BM_CMD_TYPE.BM_CMD_TYPE_BLOCK_WRITE)
                {
                    tempCommand             = new ESCommandWriteBlock();
                    tempCommand.Address     = m_Command.Address;
                    tempCommand.Command     = m_Command.Command;
                    tempCommand.Data        = m_Command.Data;
                    tempCommand.ID          = m_Command.ID;
                    tempCommand.Description = m_Command.Description;
                    tempCommand.TimeOut     = m_Command.TimeOut;
                    tempCommand.CommandWizardReportEventHandler = m_Command.CommandWizardReportEventHandler;
                    tempCommand.CommandRemovedEventHandler      = m_Command.CommandRemovedEventHandler;
                    tempCommand.IsPureListener = m_Command.IsPureListener;
                    m_Command = tempCommand;
                }
                break;

            case 4:                 //!< Read Block
                if (m_Command.Type != BM_CMD_TYPE.BM_CMD_TYPE_BLOCK_READ)
                {
                    tempCommand             = new ESCommandReadBlock(m_Command.Data);
                    tempCommand.Address     = m_Command.Address;
                    tempCommand.Command     = m_Command.Command;
                    tempCommand.ID          = m_Command.ID;
                    tempCommand.Description = m_Command.Description;
                    tempCommand.TimeOut     = m_Command.TimeOut;
                    tempCommand.CommandWizardReportEventHandler = m_Command.CommandWizardReportEventHandler;
                    tempCommand.CommandRemovedEventHandler      = m_Command.CommandRemovedEventHandler;
                    tempCommand.IsPureListener = m_Command.IsPureListener;
                    m_Command = tempCommand;
                }
                break;
            }


            frmCommandWizardStepB CommandWizard = new frmCommandWizardStepB(m_Command);

            this.Hide();
            CommandWizard.Show();
            this.Dispose();
        }