Archivo de la etiqueta: donativos

Usar TaskDialog desde .NET Framework 4

Pues eso, que si quieres usar los cuadros de diálogo de la clase TaskDialog en tus aplicaciones de .NET (C# o Visual Basic) debes usar .NET 5 o superior, al menos para acceder a las clases directamente, pero si te pasa como me pasó ayer a mí que quería usarlo en una aplicación de .NET Framework 4.8.1, pues… sigue leyendo 😉

Esta captura (de la página explicativa de TaskDialog de WindowsControls) te muestra cómo son estos cuadros de diálogo que hicieron su aparición en Windows Vista.

Como ya te he dicho, .NET 5.0 y superior incluye la clase TaskDialog y sus derivados, pero en este caso voy a usar un paquete de NuGet, que está actualizado en este mismo año 2023: WindowsAPICodePack. La versión a la hora de escribir esta entrada en el blog es la v7.0.4 publicada el 26 de febrero de 2023 por Peter William Wagner, (aka Wagnerp).

Para usar las clases agrega ese paquete de NuGet a tu proyecto y ya lo tendrás disponible.

Aquí te pongo un código de ejemplo en Visual Basic para usar ese cuadro de diálogo de forma parecida a como usarías MessageBox.Show.

''' <summary>
''' Mostrar el cuadro de diálogo usando TaskDialog.
''' </summary>
''' <param name="header">El texto de cabecera.</param>
''' <param name="texto">El texto principal.</param>
''' <param name="caption">El texto de la ventana.</param>
''' <param name="buttons">Los botones a mostrar.</param>
''' <param name="icon">El icono a mostrar.</param>
''' <returns>Un valor de tipo TaskDialogResult.</returns>
Public Shared Function MostrarDialogo(header As String, texto As String, Optional caption As String = Nothing,
                                      Optional buttons As TaskDialogStandardButtons = TaskDialogStandardButtons.Ok,
                                      Optional icon As TaskDialogStandardIcon = TaskDialogStandardIcon.Information) As TaskDialogResult
    If String.IsNullOrEmpty(caption) Then
        caption = header
    End If

    Dim taskDialogMain As TaskDialog = New TaskDialog With {
        .Caption = caption,
        .InstructionText = header,
        .Text = texto,
        .Cancelable = True,
        .StandardButtons = buttons,
        .Icon = icon
    }
    Dim tdr As TaskDialogResult = taskDialogMain.Show()
    Return tdr
End Function

Y la forma de usar este método sería algo así:

If fPrincipal.MostrarDialogo("Cerrar VentasPlayaWin",
                             "¿Seguro que quieres cerrar la aplicación de VentasPlayaWin?",
                             Nothing,
                             Microsoft.WindowsAPICodePack.Dialogs.TaskDialogStandardButtons.Yes Or Microsoft.WindowsAPICodePack.Dialogs.TaskDialogStandardButtons.No,
                             Microsoft.WindowsAPICodePack.Dialogs.TaskDialogStandardIcon.Warning) = Microsoft.WindowsAPICodePack.Dialogs.TaskDialogResult.Yes Then

    Me.Close()
    fPrincipal.Current.Close()

End If

En este caso, fPrincipal es la clase donde está definido el método MostrarDialogo mostrado anteriormente.

No es tan intuitivo como las clases de .NET, ya que es más al estilo del API de Windows, pero… para salir del paso te puede servir y ya es cuestión tuya simplificar los botones, iconos, etc.

Si tengo tiempo prepararé un proyecto tanto para Visual Basic como C# con ejemplos de cómo usar las otras opciones de las notas al pie, enlaces, etc. Pero mientras tanto puedes ver los ejemplos de cómo usar esta API en GitHub: Windows-API-Code-Pack-1.1.

Los ejemplos concretos de TaskDialog para Visual Basic y C# están en esta carpeta: TaskDialogDemo.

Espero que te sea de utilidad. 😊

Ya sabes si quieres hacer un donativo para seguir manteniendo el blog del Guille, usa este enlace. Gracias 🙏🏻

Nos vemos.
Guillermo

He vuelto a activar el Site Kit de Google (los anuncios de AdSense)

Actualizado (02-jun-23 22.46):
Pues parece que ahora no quieren que «monetice» el sitio, así que… ¡Que le den a Google AdSense! 🙄
Así que… ya sabes… PayPaleame algo 😉

Pues eso… lo mismo lo vuelvo a quitar, ya que en realidad lo quité porque a mí no me gustaba que pusieran tantos anuncios, veré si puedo que no se muestren tantos anuncios, tal como he hecho en elguille.info que ahora solo se muestra un anuncio por página (o eso es lo que me parece). También esperaba algo de más actividad por PayPal, pero… nada… ¡me invitan a pocas cervezas virtuales! 😉Y de alguna forma hay que mantener al que mantiene el sitio para que pueda seguir manteniéndolo… no sé si me explico 🤔😅

Dejaré que se activen los anuncios y ya decidiré si molestan mucho o no… si no molestan, los dejo y espero que algo entrará en «la cesta de la compra».

Y ya sabes, si prefieres que elguillemola.com esté sin anuncio, ten la buena costumbre de invitarme al menos una vez al mes a un «mate* virtual» (*mate = ya sabes, u refresco, una birra, un ponche, jajaja)

De todas formas, aquí te dejo el enlace de PayPal para que hagas un donativo si así lo estimas oportuno. Gracias🙏🏻

Escanea este código QR para hacer una donación por PayPal.

Nos vemos.
Guillermo

He quitado los anuncios de AdSense de Google de elguillemola.com

Pues eso… que ya que no producían ingresos, no sé si porque todo el mundo usa algún sistema de bloqueo de anuncios o simplemente porque nadie pincha en los anuncios, pero la cuestión es que los he quitado, ya que yo no los tengo bloqueados y siempre que veo las publicaciones o busco algo en mi blog, a mí si que me muestra (o mostraba) los anuncios; y no los tengo bloquedados (los anuncios) y tampoco te recomiendo que los bloquees, ya que es una forma de ayudar a financiar los costes de un sitio o un blog; por eso, cuando yo entro en algún sitio o blog y veo que muestran anuncios me gusta hacer clic en alguno de los anuncios, solo un clic cada vez que entro, que sé por experiencia que si abusas de hacer clics en los anuncios, seguramente con la buena intención de ayudar, al final es perjudicial para el autor del sitio (o blog), y es que esos anuncios no se tienen por gusto, si no para ayudar a poder pagar los gastos (no todos) que mantener un sitio o un blog cuesta (lo sé por experiencia desde hace ya casi 25 años). Y ya que no hay anuncios y cualquier ayudita económica nunca está de más, te invito a que pulses en el botón de DONAR con PayPal, no es necesario que sea mucho, lo que estimes y puedas, cualquier cantidad, hasta 1€ es una buena ayuda (de ese euro solo me dan una parte, pero… peor es nada).

En breve, cuando haga algunos cambios que quiero hacer en mi sitio (elguille.info) no en este blog, si no en el sitio (que algunos llamáis blog, pero bueno), también quitaré los anuncios de Google AdSense, porque allí tampoco producen ingresos y a mí me resultan molestos los anuncios, así que… otra razón más para que hagas un donativo 😉
Imagina que te encuentras conmigo (virtualmente) ye te apetece invitarme a un café, un refresco, una cerveza o un cubata, pues… como si lo fuera… pero sin refrescar el gaznate… y costándote la mitad… ya que al no tomarnos nada de verdad, te ahorras lo que tú te tomarías… así que… si me haces un donativo con PayPal… ¡todo son ventajas! tú ganas y yo gano… 😉

No vayas a pensar que esto lo escribo para obligarte a hacerme un donativo, no, ni mucho menos, este blogo y mi sitio siempre han sido gratis (desde hace ya casi 25 años) y lo seguirán siendo, espero que incluso cuando yo ya no esté en este mundo… 😉

Y ya está… ¡que disfrutes de los NO-anuncios!

Por cierto…
No sé cómo pero me habían desaparecido los widgets con lo del donativo, lo que es un blog y algunas otras cosas que tenía puesto en el lateral de las páginas del blog (seguramente al cambiar de hostingo o porque he tocado donde no debía tocar), por suerte los de Internet Archive (Wayback Machine) tienen copias de lo que había en este blog y de ahí he podido recuperarlos.
Sí, a esa gente también he hecho algún que otro donativo… hoy precisamente también, ya que me ha sido de ayuda para recuperar eso que ya no tenía 😉

Nos vemos.
Guillermo