Hola.
Un message es un formulario modal. El nativo viene como viene y tiene las cualidades que quieres. Tu puedes crearte uno a tu medida con toda facilidad. Me invento uno como ejemplo:
Estas seríal las propiedades
Al escribir esto habrán aparecido cuatro funciones en las que pondremos este código
Ya tienes las propiedades funcionales en tu clase. A partir de aquí en tu clase para sabe el contenido de cualquiera de las dos miras en $Titulo y en $Texto. Ahora declaremos los métodos
Public Sub Info 'Método para la información
Dim Icono as new picture, TextoBoton="Si", TextoBoton2 as string = "No"
Icono.Picture=Stock["16/question"] 'ponerle el icono de interrogación
HacerVentana(Titulo,Texto,Icono,TextoBoton, TextoBoton2)
end
Y este es el código de crear la ventana y ponerle las cosas
private sub CrearVentana(Titulo,Texto,Icono as PictureBox,TextoBoton as string, OPTIONAL TextoBoton2 as string, OPTIONAL textoboton3 as string)
Dim F as new form 'crear la ventana
Dim L as new Label(F) 'crear un nuevo label en F
Dim I as new PictureBox(F) 'crear un nuevo PictureBox en F
Dim B1 as new button(F) 'crear primer botón en F
Dim B2 as new button(F) 'crear el segundo botón
Dim B3 as new buttón(F) 'crear el tercer botón
F.text=Titulo 'poner el título 'poner el título a la ventana
F.L.text=Texto 'poner el texto en el label de la ventana
F.width=XX 'la anchura que queramos
F.Height=XX 'la altura que queramos
F.Center 'centrarlo en pantalla
F.border=1 'ponerle el borde sólido
F.B1.text=textoboton 'poner las propiedades de primer botón
F.B1.Width=XX 'la anchura que queramos
F.B1.Height=XX 'la altura que queramos
F.B1.Top=X 'la posición que queramos
F.B1.Left=X 'la posición que queramos
if B2 then 'si se dió texto para un segundo botón
F.B2.text=TextoBoton2
F.B2.Width=XX 'la anchura que queramos
F.B2.Height=XX 'la altura que queramos
F.B2.Top=X 'la posición que queramos
F.B2.Left=X 'la posición que queramos
else
F.B2.delete 'eliminarlo
endif
if B3 then 'si se dió texto para un tercer botón
F.B3.text=TextoBoton3
F.B3.Width=XX 'la anchura que queramos
F.B3.Height=XX 'la altura que queramos
F.B3.Top=X 'la posición que queramos
F.B3.Left=X 'la posición que queramos
else
F.B3.delete 'eliminarlo
endif
P.width=XX 'la anchura del icono que queramos
P.height=XX 'la altura del icono que queramos
P.Top=X 'La posición del icono que queramos
P.Left=X 'La posición del icon que queramos
F.showmodal() 'mostralo en pantalla
end
Cuando quieres usarlo en tu formulario Creas una instancia de la clase MiMessage y lanzas el método que quieras
Dim MiDialogo as new MiMensaje
...
MiDialogo.question
...
Se que tengo errores de bulto porque por ejemplo no he programado el evento click de los botones para que retornen un valor que debería ser algo así como "$respuesta=1" para el caso Si y $Respuesta=2 para el caso "No", pero lo fundamental es que te quedes con la idea.
Un saludo