texto sobre pasar mostrar mensaje emergente boton vb.net winforms url messagebox clickable

vb.net - sobre - ¿URL que se puede hacer clic en un cuadro de mensaje de Winform?



texto emergente al pasar el mouse (5)

MessageBox no hará eso. Necesitarás usar el TaskDialog (presentado en Vista) o crear tu propio diálogo.

--Editar--
Hay formas de simular el diálogo de tareas en XP. Hay algunos artículos en CodeProject.com que he usado en el pasado.

Quiero mostrar un enlace para ayudar en un cuadro de mensaje. Por defecto, el texto se muestra como una cadena no seleccionable.


Podría usar algún código personalizado con LinkLabel así:

if (hyperLinks != null) { foreach (var link in hyperLinks) { var linkLabel = new LinkLabel(); linkLabel.Text = link; linkLabel.Width = WhateverParentPanelYouHave.Width; linkLabel.Click += LabelClicked; WhateverParentPanelYouHave.Controls.Add(linkLabel); } }

Donde hyperLinks es una lista de cadenas para sus enlaces.

Luego, para su controlador LabelClicked :

private async void LabelClicked(object sender, EventArgs e) { var linkLabel = (LinkLabel) sender; var path = linkLabel.Text; try { await Task.Run(() => Process.Start($@"{path}")); } catch (Exception ex) { MessageBox.ShowMessage(ex.Message, @"An Error Has Occurred"); } }

Tenga en cuenta que este es su propio formulario con el control LinkLabel agregado. Tendrás que heredar de Form y usar el método ShowDialog() para mostrar tu formulario con todos tus controles agregados.


Puede usar el control LinkLabel en su propio Form para esto. Desafortunadamente, el formulario MessageBox no se puede personalizar de esta manera, por lo que necesitaría crear su propio Form para imitar el MessageBox para sus propósitos.


Una opción es mostrar la URL en el cuadro de mensaje, junto con un mensaje y proporcionar el botón de ayuda que lo lleva a esa url:

MessageBox.Show( "test message", "caption", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 0, ''0 is default otherwise use MessageBoxOptions Enum "http://google.com", "keyword")

Importante tener en cuenta que este código no puede estar en el evento de carga del formulario, el botón Ayuda no abrirá el enlace.


LinkLabel crear su propio formulario, en lugar del MessageBox incorporado, y puede usar un LinkLabel en él.

Sin embargo, en el MessageBox incorporado, se puede mostrar un botón de Ayuda entre los botones.