Visual CSharp .NET - Ayuda con Combobox

 
Vista:
Imágen de perfil de Alejandro
Val: 1
Ha disminuido su posición en 13 puestos en Visual CSharp .NET (en relación al último mes)
Gráfica de Visual CSharp .NET

Ayuda con Combobox

Publicado por Alejandro (1 intervención) el 30/09/2018 17:43:32
Tengo un codigo, en el cual estoy haciendo una calculadora, pero quiero que los valores de la combobox1 tengan un valor.
Que puedo hacer para que elija la opcion de puebla sume 3.58
Cuando elija veracruz otro valor y asi
Quiero que esto se sume al resultado.


private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add("Puebla");
comboBox1.Items.Add("Oaxaca");
comboBox1.Items.Add("Veracruz");



comboBox2.Items.Add("2.58");
comboBox2.Items.Add("3.20");
comboBox2.Items.Add("6.75");


comboBox3.Items.Add("+");
comboBox3.Items.Add("*");
comboBox3.Items.Add("-");
comboBox3.Items.Add("/");

comboBox4.Items.Add("1");
comboBox4.Items.Add("2");
comboBox4.Items.Add("3");
comboBox4.Items.Add("4");
}

private void button1_Click(object sender, EventArgs e)
{
string Opera = (comboBox3.SelectedItem.ToString());
double a;
double b;
try
{
if(Opera=="+")
{
a = double.Parse(comboBox2.SelectedItem.ToString());
b = double.Parse(comboBox4.SelectedItem.ToString());

label2.Text = (a + b). ToString();
label2.Visible = true;
}


if (Opera == "*")
{
a = double.Parse(comboBox2.SelectedItem.ToString());
b = double.Parse(comboBox4.SelectedItem.ToString());
label2.Text = (a * b).ToString();
label2.Visible = true;
}

if (Opera == "-")
{
a = double.Parse(comboBox2.SelectedItem.ToString());
b = double.Parse(comboBox4.SelectedItem.ToString());
label2.Text = (a - b).ToString();
label2.Visible = true;
}

if (Opera == "/")
{
a = double.Parse(comboBox2.SelectedItem.ToString());
b = double.Parse(comboBox4.SelectedItem.ToString());
label2.Text = (a / b).ToString();
label2.Visible = true;
}
}
catch
{


}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Combobox

Publicado por William Brito (1 intervención) el 20/12/2018 18:04:21
La idea seria crear una clase que redefina el metodo ToString y adicionar los items del combobox no como simples objetos string sino como instancias de esta clase.

Aqui te dejo un ejemplo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private class ValuedItem {
  public string CitiyName {get;}
  public decimal Value {get;}
 
  public override string ToString() { return CityName; }
  public ValuedItem(string cityName, decimal value) {
    CityName = cityName;
    Value = value;
  }
}
 
ValuedItem[] comboBoxItems = {
  new ValuedItem("Puebla", 4.14),
  new ValuedItem("Oaxaca", 3.58),
  new ValuedItem("Veracurz", 2.71)
};
 
// Populating the combobox
combobox1.Items.Clear();
foreach(ValuedItem item in comboBoxItems) {
  combobox1.Items.Add(item);
}
 
// extracting the selected value in combobox1
decimal selectedValue = (combobox1.SelectedItem as ValuedItem).Value;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar