Pregunta

private void mnuCustomerAdd_Click(object sender, EventArgs e)
    {
        CustomerForm frmCust = new CustomerForm("Add A New Customer");

        int index = lstCustomers.SelectedIndex;
        if (index != -1)
            frmCust.CustomerData = new Customer(customerMngr.GetCustomer(index).ContactData);


        MessageBox.Show("dev1");
        DialogResult dr = frmCust.ShowDialog();
        if (dr == DialogResult.OK)
        {
            MessageBox.Show("dev2");
            if (frmCust.ReadInput())
            {
                MessageBox.Show("dev3");
                customerMngr.AddCustomer(frmCust.CustomerData);
            }
            else
                MessageBox.Show("Please supply all necessary fields with the correct information");
        }
        UpdateCustomerList();

    }

No entiendo lo que estoy haciendo mal aquí, quiero ejecutar las sentencias condicionales si el usuario pulsa ACEPTAR en el Formulario que aparece en frmCust.ShowDialog().En el momento en el que sólo se puede obtener a "dev1".

¿Fue útil?

Solución

Tal vez el cuadro de diálogo no se ajuste el resultado del diálogo.Asegúrese de que sus botones ACEPTAR y Cancelar tienen sus DialogResult propiedades de conjunto de lo que usted espera.

Otros consejos

Asegúrese de asignar correctamente DialogResult la propiedad de la Form antes de cerrar.Por lo que se devuelve como valor de retorno de ShowDilaog() de la llamada.

Hay otra opción, es utilizar AcceptButton y CancelButton, con el fin de manejar correspondiente Enter y Cancel pulsación de tecla.

Coloque un punto de interrupción (F9) en la línea:

if (dr == DialogResult.OK)

Cuando se cierra el cuadro de diálogo, tendrá la posibilidad de examinar lo que se establece dr.

Para obtener el diálogo para devolver DIALOGRESULT.OK, puede configurarlo en el botón OK del diálogo:

void buttonOK_Click(object sender, EventArgs e)
{ 
    this.DialogResult = DialogResult.OK;
    Close();
}

O puede hacer la opción en Tigran's Responder .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top