#c#
#c#
Вопрос:
Я создаю программу, которая позволяет пользователю выбирать оценку / оценку из списка со списком и с помощью нажатия кнопки вычисляет ответ для пользователя. Однако по какой-то причине, когда я нажимаю кнопку вычисления, текст метки вообще не меняется. Также извините, если коды запутаны или выглядят неправильно, поскольку я все еще пытаюсь учиться.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace btec_to_ucas
{
public partial class Form1 : Form
{
//These are the values i want displayed on the label
int PPP = 48;
int MPP = 64;
int MMP = 80;
int MMM = 96;
int MMD = 112;
int DDM = 128;
int DDD = 144;
public Form1()
{
InitializeComponent();
}
// below i want whenever the button is pressed it will take the selected answer and display the int onto the label
private void button1_Click(object sender, EventArgs e)
{
{
switch (comboBox1.SelectedIndex)
{
case 0:
if (comboBox1.SelectedIndex == PPP)
{
label1.Text = "48";
}
break;
case 1:
if (comboBox1.SelectedIndex == MPP)
{
label1.Text = "64";
}
break;
case 2:
if (comboBox1.SelectedIndex == MMP)
{
label1.Text = "96";
}
break;
}
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
} ```
Комментарии:
1. Ваша метка не меняется, потому что вы проверяете, что SelectedIndex равен целочисленной константе. Это не может быть связано с тем, что коммутатор уже оценил SelectedIndex как другое значение. Пожалуйста, покажите, как вы инициализируете содержимое выпадающего списка.
2. TBH Я бы создал поле, которое вы можете назначить при изменении индекса, затем при нажатии кнопки просто обновите свойство текста метки до того, каким оно должно быть, и / или сделайте это в
SelectedIndexChanged
событии в целом.
Ответ №1:
Ваш оператор switch должен быть таким:
switch (comboBox1.SelectedIndex)
{
case 0:
label1.Text = PPP.ToString();
break;
case 1:
label1.Text = MPP.ToString();
break;
...
Комментарии:
1. иисус Христос, спасибо тебе, чувак, я застрял на этом целую вечность
2. Не беспокойтесь. Если ответ помог, пожалуйста, отметьте его как принятый ответ.