No puedo usar MessageBox en este contexto, alguien puede explicarme porque?

Iniciado por mmartinezmolina, 21 Noviembre 2008, 14:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

mmartinezmolina

Estte es el codigo, no puedo usar el MessageBox aqui, me sale este error:

Error   1   'NombreAplicacion.frmEntrada.MessageBox(string)' es 'método', que no es válida en el contexto indicado   

y este es el codigo:
La version de C# es Visual C# 2008


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows;

namespace AYUDANTE
{
    public partial class frmEntrada : PlantillaForm
    {
        public frmEntrada()
        {
            InitializeComponent();
        }
       
        private void EntradaForm_Load(object sender, EventArgs e)
        {
            MessageBox.show("Este es el Mensaje", "Mensaje",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Information);
         }

Gracias de antemano.

AntonioMeucci

Hola,
   el error que te da suena raro, pero primero prueba a poner el show con s mayúscula
MessageBox.Show("Este es el Mensaje", "Mensaje",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Information);


Si has pegado todo el código, también faltan un par de } al final
Saludos.

mmartinezmolina

Lo de los }, es porque solo pegue hasta ahi.
Lo de la 's' miniscula, es porque si el visual reconociera el MessageBox en ese contexto , la s estaria en mayuscula, pero bueno que si la pongo manualmente en mayuscula no pasa nada, sale el mismo error.

Gracias por responder

Shell Root

Mén, podrias utiilizar javascript para estó.
Ejemplo:
        protected void Button1_Click(object sender, EventArgs e)
        {
            //this.Button1.Attributes.Add("OnClick", "javascript:if(confirm('Confirmando anulará la orden. ¿Quiere continuar?') == false) return false;"); //Button Aceptar & Cancelar
            this.Button1.Attributes.Add("OnClick", "javascript:if(alert('¡Que hay men!'))"); //Button OK
        }


¿Por qué no utilicé el namespace Windows.Form?

Porque lo poco que he leído es que solamente se ejecutaría ese MessageBox si utilizas Windows como S.O.
Por lo tanto creo que si quieres hacer las cosas bien, javascript es lo correcto.

By: Rakzo-Fimbres

Saludos mén.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

AntonioMeucci

Ok, lo decía porque esos errores "raros" muchas veces son por tonterías como que falta un ; o una } o algo así. Entonces, no parece que el problema esté en el archivo que has posteado, debe estar en otro archivo del proyecto, quizá en la clase de la que heredas, PlantillaForm, o en el designer (que es donde se declaran los controles que hayas puesto en la vista de diseño).
Si comentas la instrucción del MessageBox, ¿compila?. Si sigue sin compilar, te faltará algo en otro archivo.
Si pones System.Windows.Forms.MessageBox.Show("Este es el Mensaje", "Mensaje",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Information);
¿funciona?. Si es así, tendrás otra cosa con el nombre MessageBox definido en PlantillaForm o en la parte visual de la clase.

alex19910218: La aplicación es de Winforms (de escritorio), por lo que no se puede usar javascript. El MessageBox del Windows.Forms se puede ejecutar sobre cualquier SO (que tenga una implementación del framework de .net), por ejemplo en linux se podría ejecutar con el proyecto mono.

Saludos

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

CrÄsH

yo creo k el codigo este del msgbox no va en el load del form, sino k en el click del boton. :rolleyes:
~~~~~~~~~~~~~~~~