private void btnOpenFile_Click(object sender, EventArgs e)
        {
            DOCXField[] Fields = null;
            try
            {
                Fields = SAPIWrapper.GetSignatureFields(txtFile.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!");
                return;
            }

            if (Fields == null)
            {
                MessageBox.Show("Selected file doesn't contain Signature Fields");
                return;
            }


            btnCloseFile.Enabled = true;
            btnOpenFile.Enabled  = false;
            txtFile.Enabled      = false;
            btnBrowse.Enabled    = false;
            gbLogin.Enabled      = false;
            gbSign.Enabled       = true;

            for (int i = 0; i < Fields.Length; i++)
            {
                lstFields.Items.Add(Fields[i]);
            }
        }
        private void btnSign_Click(object sender, EventArgs e)
        {
            try
            {
                SAPIWrapper.SignField((DOCXField)lstFields.SelectedItem);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
                return;
            }

            //Refresh the list
            lstFields.Items.Clear();
            btnOpenFile_Click(null, null);

            MessageBox.Show("The Field was successfully signed");
        }
        private void btnLogoff_Click(object sender, EventArgs e)
        {
            try
            {
                SAPIWrapper.Logoff();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!");
                return;
            }

            txtUsername.Enabled = true;
            txtPassword.Enabled = true;
            txtDomain.Enabled   = true;
            btnLogoff.Enabled   = false;
            btnLogon.Enabled    = true;
            gbFile.Enabled      = false;
        }