3ENGINE

Programación y otros cachivaches

Categoría: Tecnologia

Página 15/45

Tecnologia

Cómo descargar una imagen de una página y mostrarla en un Winform de .NET


A veces puede interesar descargar de internet imágenes u otros recursos a local. Aquí te explico cómo descargar una imagen de una página y mostrarla en un Winform de .NET con la particularidad que en ningún momento guardamos la imagen en disco:

Código para descargar una imagen de una página y mostrarla en un Winform:

private void buttonCargar_Click(object sender, EventArgs e)
{
string[] imagenes = new string[] 
{"https://i.ytimg.com/vi/r5zVP6tmvRQ/mqdefault.jpg", 
 "https://i.ytimg.com/i/ZJ7m7EnCNodqnu5SAtg8eQ/1.jpg",
 "https://i.ytimg.com/vi/oY6ZMx_lVks/default.jpg",
 "https://i.ytimg.com/vi/REd0FYX8Zno/default.jpg",
 "https://i.ytimg.com/vi/ZJxN1swBnhg/default.jpg"};

using (WebClient client = new WebClient())
{
this.imageList.ColorDepth = ColorDepth.Depth32Bit;
this.imageList.ImageSize = new Size(60, 50);

foreach (var imagen in imagenes)
{
Byte[] byteImage = client.DownloadData(imagen);
MemoryStream memoryStream = new MemoryStream(byteImage);
Image image = Image.FromStream(memoryStream);
this.imageList.Images.Add(image);

ListViewItem item = new ListViewItem();
item.ImageIndex = imageList.Images.Count - 1;
item.SubItems.Add(imagen);
this.listView.Items.Add(item);
}
}
}

Del ejemplo tenemos una lista de cinco imágenes a descargar:

  • 12-13: indica la profundidad de color y tamaño de la imagen a guardar en imageList
  • 17-20: descarga la imagen y la guarda en imageList
  • 22-25: añadir la imagen y la url en listView

El resultado es el siguiente:

descargar una imagen de una página y mostrarla en un Winform

Podeis obtener las fuentes del ejemplo desde aquí .




Tecnologia

Cómo añadir un video de Youtube en un Winform de .NET


Pasos para añadir un video de Youtube a un Winform de .NET

1. Añadir una referencia a la libreria Shockwave Flash. Para ello, ir la opción Agregar referencia, pestaña COM y seleccionar el componente Shockwave Flash:

añadir un video de Youtube en un Winform 1

Ahora nuestro proyecto tienen una referencia ShockwaveFlashObjects

añadir un video de Youtube en un Winform 2

2. Añadir al cuadro de herramientas el control Shockwave Flash Object. Para ello, ir al cuadro de herramientas, click derecho del ratón y seleccionar la opción Elegir elementos. Una vez se abra el diálogo (tarda un poco) ir a la pestaña Componentes COM y seleccionar el componente Shockwave Flash Object:

añadir un video de Youtube en un Winform 3

Si todo ha ido bien, aparecerá en el cuadro de herramientas un nuevo elementos:

añadir un video de Youtube en un Winform 4

3. Añadir el control Shockwave Flash Object a un formulario y un botón que necesitaremos para hacer una prueba. Añadir el siguiente código al evento click del botón:

        
private void bPlay_Click(object sender, EventArgs e)
{
   axShockwaveFlash1.LoadMovie(0, "http://www.youtube.com/v/VzEHmcABGUU");
   axShockwaveFlash1.Play();
}

4. Si todo ha ido bien este será el resultado:

añadir un video de Youtube en un Winform 5




English, Tecnologia

How to insert an InputBox in C#


Although seem lie, in the C# language not exist a dialog box for ask a data. If you don’t want create your own dialog box and don’t need personalize it, you can use the sentence Inputbox that you can find in Microsoft.VisualBasic assembly.
This sentence show a modal dialog with a label, text box, a button accept and other button for cancel.

The definition of sentence InputBox is as follow:

       
public static string InputBox(
        string Prompt,
string Title,
string DefaultResponse,
int XPos,
int YPos)
  • Prompt: Dialog message
  • Title: Optional. Dialog title.
  • DefaultResponse: Optional. answer by default.
  • xPos: Optional. Coordinate X, centered by default.
  • yPos: Optional. Coordinate Y, centered by default.

Steps for insert an InputBox in C#:

1. Insert a reference to Microsoft.VisualBasic assembly:

How to insert an InputBox in C# - 1

How to insert an InputBox in C# - 2

2. Insert the sentence:

private void btnClickInputBox_Click(object sender, EventArgs e)
{
    string texto = Microsoft.VisualBasic.Interaction.InputBox(
        "Texto de la pregunta",
        "Titulo del diálogo",
        "Respuesta por defecto");
}

Note: if the user cancels the dialog then the statement returns an empty string

Result:

How to insert an InputBox in C# - 3




Tecnologia

Cómo añadir un InputBox en C#


Aunque parezca mentira, no existe en C# un diálogo para pedir un dato. Si no tienes ganas de crear tu propio diálogo y no necesitas personalización, puedes hacer uso de la sentencia InputBox que se encuentra en el ensamblado Microsoft.VisualBasic
Esta sentencia muestra un diálogo modal con una etiqueta, una caja de texto, un botón para aceptar y otro para cancelar.

La definición de la sentencia InputBox es la siguiente:

       
public static string InputBox(
        string Prompt,
string Title,
string DefaultResponse,
int XPos,
int YPos)
  • Prompt: Mensaje del diálogo.
  • Title: Opcional. Título del diálogo.
  • DefaultResponse:  Opcional. Respuesta por defecto.
  • xPos: Opcional. Coordenada X, por defecto centrado
  • yPos: Opcional. Coordenada Y, por defecto centrado

Pasos para añadir InputBox en C#

1. Agregar la referencia al ensamblado Microsoft.VisualBasic:

Cómo añadir un InputBox en C# - 1

Cómo añadir un InputBox en C# - 2

2. Añadir la sentencia:

private void btnClickInputBox_Click(object sender, EventArgs e)
{
    string texto = Microsoft.VisualBasic.Interaction.InputBox(
        "Texto de la pregunta",
        "Titulo del diálogo",
        "Respuesta por defecto");
}

Nota: si el usuario cancela el diálogo la sentencia retorna una cadena vacía.

El resultado es:

Cómo añadir un InputBox en C# - 3