Foro de elhacker.net

Programación => .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
  1. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
  2.        {
  3.  
  4.  
  5.            switch (ComboTallas.SelectedIndex)
  6.            {
  7.                case 0:
  8.                    LblEuropa.Text = "39";
  9.                    //LblUsa.Text = "7";
  10.                    //LblMexico.Text = "5.5";
  11.                    break;
  12.                case 1:
  13.                    LblEuropa.Text = "40";
  14.                    //LblUsa.Text = "7.5";
  15.                    //LblMexico.Text = "6";
  16.                    break;
  17.                case 2:
  18.                    LblEuropa.Text = "41";
  19.                    //LblUsa.Text = "8";
  20.                    //LblMexico.Text = "6.5";
  21.                    break;
  22.            }

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
necesito 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
  1.    Public Class Tallas
  2.  
  3.        Private _Name As String
  4.        Private _Europa As Double
  5.        Private _USA As Double
  6.        Private _Mexico As Double
  7.  
  8.        Public Property Name() As String
  9.            Get
  10.                Return _Name
  11.            End Get
  12.            Set(ByVal value As String)
  13.                _Name = value
  14.            End Set
  15.        End Property
  16.  
  17.        Public Property Europa() As Double
  18.            Get
  19.                Return _Europa
  20.            End Get
  21.            Set(ByVal value As Double)
  22.                _Europa = value
  23.            End Set
  24.        End Property
  25.  
  26.        Public Property USA() As Double
  27.            Get
  28.                Return _USA
  29.            End Get
  30.            Set(ByVal value As Double)
  31.                _USA = value
  32.            End Set
  33.        End Property
  34.  
  35.        Public Property Mexico() As Double
  36.            Get
  37.                Return _Mexico
  38.            End Get
  39.            Set(ByVal value As Double)
  40.                _Mexico = value
  41.            End Set
  42.        End Property
  43.  
  44.    End Class

Código
  1.        ' Agrego algunos zapatos con tallas predefinidas
  2.        Dim Tallas As New List(Of Tallas) From { _
  3.            New Tallas With {.Name = "Nombre de zapato 1", .Europa = 39, .USA = 7, .Mexico = 5.5}, _
  4.            New Tallas With {.Name = "Nombre de zapato 2", .Europa = 40, .USA = 7.5, .Mexico = 6} _
  5.        }
  6.  
  7.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  8.  
  9.        ' Busco un zapato, por su nombre.
  10.        ' Puedes hacer lo mismo comparando el nombre con la propiedad "Combobox.Text"
  11.        Dim Zapato As Tallas = Tallas.Find(Function(x) x.Name = "Nombre de zapato 1")
  12.  
  13.        ' Muestro los datos que quiero de este zapato encontrado...
  14.        MsgBox(String.Format("Nombre: {1}{0}Talla Europa: {2}{0}Talla USA: {3}{0}Talla Mexico: {4}", _
  15.                             Environment.NewLine, _
  16.                             Zapato.Name, Zapato.Europa, Zapato.USA, Zapato.Mexico))
  17.  
  18.    End Sub

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

Código
  1. using Microsoft.VisualBasic;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Diagnostics;
  7. public class Tallas
  8. {
  9.  
  10. private string _Name;
  11. private double _Europa;
  12. private double _USA;
  13.  
  14. private double _Mexico;
  15. public string Name {
  16. get { return _Name; }
  17. set { _Name = value; }
  18. }
  19.  
  20. public double Europa {
  21. get { return _Europa; }
  22. set { _Europa = value; }
  23. }
  24.  
  25. public double USA {
  26. get { return _USA; }
  27. set { _USA = value; }
  28. }
  29.  
  30. public double Mexico {
  31. get { return _Mexico; }
  32. set { _Mexico = value; }
  33. }
  34.  
  35. }
  36.  
  37. //=======================================================
  38. //Service provided by Telerik (www.telerik.com)
  39. //Conversion powered by NRefactory.
  40. //Twitter: @telerik
  41. //Facebook: facebook.com/telerik
  42. //=======================================================

Código
  1.  
  2. private void Form1_Load(object sender, EventArgs e)
  3. {
  4. // Agrego algunos zapatos con tallas predefinidas
  5. List<Tallas> Tallas = new List<Tallas> {
  6. new Tallas {
  7. Name = "Nombre de zapato 1",
  8. Europa = 39,
  9. USA = 7,
  10. Mexico = 5.5
  11. },
  12. new Tallas {
  13. Name = "Nombre de zapato 2",
  14. Europa = 40,
  15. USA = 7.5,
  16. Mexico = 6
  17. }
  18. };
  19.  
  20. // Busco un zapato, por su nombre.
  21. // Puedes hacer lo mismo comparando el nombre con la propiedad "Combobox.Text"
  22. Tallas Zapato = Tallas.Find(x => x.Name == "Nombre de zapato 1");
  23.  
  24. // Muestro los datos que quiero de este zapato encontrado...
  25. 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));
  26.  
  27. }
  28.  
  29. //=======================================================
  30. //Service provided by Telerik (www.telerik.com)
  31. //Conversion powered by NRefactory.
  32. //Twitter: @telerik
  33. //Facebook: facebook.com/telerik
  34. //=======================================================
  35.  




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. ¬¬

Yo también lo pensé xDDD