Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Eagle_Alwa en 25 Octubre 2013, 07:06 AM

Título: Label dinamico C# Visual Studio 2010
Publicado por: Eagle_Alwa en 25 Octubre 2013, 07:06 AM
hola a todos soy nuevo en este foro, necesitu su ayuda:
necesito hacer un convertidor de tallas de calzado. con un combobox y Label. (el combobox contiene las medidas de talla por ejemplo: 7, 7.5, 8, etc. y los Label, la talla segun el Pais por ejemplo: Europa, EEUU, Mexico, etc.). La idea es de que al seleccionar cualquier item del combobox el Label muestre la talla del pais que le corresponde. esto esl o que tengo. pero no logro conseguir que el Label cambie a su respectiva talla segun lo seleccionado en el ComboBox:

Código (csharp) [Seleccionar]
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
       {
           
                     
           switch (ComboTallas.SelectedIndex)
           {
               case 0:
                   LblEuropa.Text = "39";
                   //LblUsa.Text = "7";
                   //LblMexico.Text = "5.5";
                   break;
               case 1:
                   LblEuropa.Text = "40";
                   //LblUsa.Text = "7.5";
                   //LblMexico.Text = "6";
                   break;
               case 2:
                   LblEuropa.Text = "41";
                   //LblUsa.Text = "8";
                   //LblMexico.Text = "6.5";
                   break;
           }


ayuda por favor si alguen me puede alumbrar de como se hace.
Título: Re: Label dinamico C# Visual Studio 2010
Publicado por: El Benjo en 25 Octubre 2013, 08:10 AM
No estoy seguro si sea el caso, pero parece haber una discrepancia entre la función y el objeto de la sentencia switch: "DropDownList1" y "ComboTallas", coloca un punto de interrupción al comienzo del switch y checa la propiedad "SelectedIndex".

Otra cosa, espero que al ejecutar la aplicación estés quitando los comentarios, porque si no es así no sé cómo esperas que la propiedad Text cambie. ¬¬

Saludos.
Título: Re: Label dinamico C# Visual Studio 2010
Publicado por: Eleкtro en 25 Octubre 2013, 09:31 AM
Cita de: Eagle_Alwa en 25 Octubre 2013, 07:06 AMnecesito hacer un convertidor de tallas de calzado.

Yo ahí no veo ningún "Convertidor", asignas valores predefinidos, la aplicación no usa lógica alguna para convertir las unidades, si lo que quieres es predefinir tallas de la forma en la que lo estás haciendo, hazlo en un lugar separado, no me lo hagas diréctamente al seleccionar un item del combobox... muy dinámico eso no es, lo mejor es crear tu propio Type y así ya lo tienes todo resuelto:


(http://img689.imageshack.us/img689/2637/3bfv.png)

Código (vbnet) [Seleccionar]
   Public Class Tallas

       Private _Name As String
       Private _Europa As Double
       Private _USA As Double
       Private _Mexico As Double

       Public Property Name() As String
           Get
               Return _Name
           End Get
           Set(ByVal value As String)
               _Name = value
           End Set
       End Property

       Public Property Europa() As Double
           Get
               Return _Europa
           End Get
           Set(ByVal value As Double)
               _Europa = value
           End Set
       End Property

       Public Property USA() As Double
           Get
               Return _USA
           End Get
           Set(ByVal value As Double)
               _USA = value
           End Set
       End Property

       Public Property Mexico() As Double
           Get
               Return _Mexico
           End Get
           Set(ByVal value As Double)
               _Mexico = value
           End Set
       End Property

   End Class


Código (vbnet) [Seleccionar]

       ' Agrego algunos zapatos con tallas predefinidas
       Dim Tallas As New List(Of Tallas) From { _
           New Tallas With {.Name = "Nombre de zapato 1", .Europa = 39, .USA = 7, .Mexico = 5.5}, _
           New Tallas With {.Name = "Nombre de zapato 2", .Europa = 40, .USA = 7.5, .Mexico = 6} _
       }

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

       ' Busco un zapato, por su nombre.
       ' Puedes hacer lo mismo comparando el nombre con la propiedad "Combobox.Text"
       Dim Zapato As Tallas = Tallas.Find(Function(x) x.Name = "Nombre de zapato 1")

       ' Muestro los datos que quiero de este zapato encontrado...
       MsgBox(String.Format("Nombre: {1}{0}Talla Europa: {2}{0}Talla USA: {3}{0}Talla Mexico: {4}", _
                            Environment.NewLine, _
                            Zapato.Name, Zapato.Europa, Zapato.USA, Zapato.Mexico))

   End Sub


No soy programador de C#, aqui tienes el código convertido pero no se si funcionará:

Código (csharp) [Seleccionar]

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Tallas
{

private string _Name;
private double _Europa;
private double _USA;

private double _Mexico;
public string Name {
get { return _Name; }
set { _Name = value; }
}

public double Europa {
get { return _Europa; }
set { _Europa = value; }
}

public double USA {
get { return _USA; }
set { _USA = value; }
}

public double Mexico {
get { return _Mexico; }
set { _Mexico = value; }
}

}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================


Código (csharp) [Seleccionar]


private void Form1_Load(object sender, EventArgs e)
{
// Agrego algunos zapatos con tallas predefinidas
List<Tallas> Tallas = new List<Tallas> {
new Tallas {
Name = "Nombre de zapato 1",
Europa = 39,
USA = 7,
Mexico = 5.5
},
new Tallas {
Name = "Nombre de zapato 2",
Europa = 40,
USA = 7.5,
Mexico = 6
}
};

// Busco un zapato, por su nombre.
// Puedes hacer lo mismo comparando el nombre con la propiedad "Combobox.Text"
Tallas Zapato = Tallas.Find(x => x.Name == "Nombre de zapato 1");

// Muestro los datos que quiero de este zapato encontrado...
Interaction.MsgBox(string.Format("Nombre: {1}{0}Talla Europa: {2}{0}Talla USA: {3}{0}Talla Mexico: {4}", Environment.NewLine, Zapato.Name, Zapato.Europa, Zapato.USA, Zapato.Mexico));

}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================






Cita de: El Benjo en 25 Octubre 2013, 08:10 AMOtra cosa, espero que al ejecutar la aplicación estés quitando los comentarios, porque si no es así no sé cómo esperas que la propiedad Text cambie. ¬¬

Yo también lo pensé xDDD