Как вывести разный результат в разные label
Цитата: sharp от 27.09.2020, 22:59Всем привет!
Ребят помогите пожалуйста, решил начать с простого но как оказалось не совсем)
Много чего не понимаю все облазил все равно не могу найти ответа на свой вопрос.Мне необходимо вывести 3 разных ответа в label1, label2, label3. (это получилось)
Но! Чтобы каждый новый label выводился к примеру ниже предыдущего label на несколько px. (не получилось)
Получается вывод результата проверки.Т.е. необходимо как то сделать чтобы каждый label выводился исходя ошибок а не так как сейчас 1 ошибка а выводит сразу три
if (Windows == "Windows 10 Enterprise") { NotSupport(); label_Windows.ForeColor = Color.FromArgb(255, 89, 89); label1.Text += "Корпоративная не поддерживается"; } if (bit != "64-разрядная") { NotSupport(); label_bit.ForeColor = Color.FromArgb(255, 89, 89); label2.Text += "У Вас не 64 бит"; } if (vers != "2005") { NotSupport(); label_vers.ForeColor = Color.FromArgb(255, 89, 89); label3.Text += "У Вас не 2005"; }
label в label3 это логично т.к. я туда его сам отправил, но как сделать чтобы когда одна ошибка показывало, один label, когда две ошибки, второй label, ну и когда три ошибки, третий label.
Помогите пожалуйста.
Всем привет!
Ребят помогите пожалуйста, решил начать с простого но как оказалось не совсем)
Много чего не понимаю все облазил все равно не могу найти ответа на свой вопрос.
Мне необходимо вывести 3 разных ответа в label1, label2, label3. (это получилось)
Но! Чтобы каждый новый label выводился к примеру ниже предыдущего label на несколько px. (не получилось)
Получается вывод результата проверки.
Т.е. необходимо как то сделать чтобы каждый label выводился исходя ошибок а не так как сейчас 1 ошибка а выводит сразу три
if (Windows == "Windows 10 Enterprise")
{
NotSupport();
label_Windows.ForeColor = Color.FromArgb(255, 89, 89);
label1.Text += "Корпоративная не поддерживается";
}
if (bit != "64-разрядная")
{
NotSupport();
label_bit.ForeColor = Color.FromArgb(255, 89, 89);
label2.Text += "У Вас не 64 бит";
}
if (vers != "2005")
{
NotSupport();
label_vers.ForeColor = Color.FromArgb(255, 89, 89);
label3.Text += "У Вас не 2005";
}
label в label3 это логично т.к. я туда его сам отправил, но как сделать чтобы когда одна ошибка показывало, один label, когда две ошибки, второй label, ну и когда три ошибки, третий label.
Помогите пожалуйста.
Цитата: KiloSub от 28.09.2020, 00:49Если ты заранее подготовил все лэйблы (их можно создавать и в процессе надобности), то:
У всех элементов обычно есть свойство Visible. Сначала делаешь все невидимыми, например:
label1.Visible = false;
Затем делаешь счетчик, скажем:
int count = 1;
и в случае ошибки пишешь в лэйблы по порядку, вызывая в каждом случае
Controls["label" + count].Visible = true;
Controls["label" + count].Text = "lasdfjlaskdf";
count++;
Если я вообще правильно понял задачу ))
Если ты заранее подготовил все лэйблы (их можно создавать и в процессе надобности), то:
У всех элементов обычно есть свойство Visible. Сначала делаешь все невидимыми, например:
Скопированоlabel1.Visible = false;
Затем делаешь счетчик, скажем:
Скопированоint count = 1;
и в случае ошибки пишешь в лэйблы по порядку, вызывая в каждом случае
СкопированоControls["label" + count].Visible = true;
СкопированоControls["label" + count].Text = "lasdfjlaskdf";
Скопированоcount++;
Если я вообще правильно понял задачу ))
Цитата: KiloSub от 28.09.2020, 01:23А создавать по мере надобности примерно так:
int count = 1; private void button1_Click(object sender, EventArgs e) { CreateLabel("Ошибка 1"); CreateLabel("Ошибка 2"); CreateLabel("Ошибка 3"); } private void CreateLabel(string text) { Label label = new Label { Location = new Point(5, 5 + count * 17), Name = "label" + count, Size = new Size(300, 17), Text = text }; Controls.Add(label); count++; }
А создавать по мере надобности примерно так:
int count = 1;
private void button1_Click(object sender, EventArgs e)
{
CreateLabel("Ошибка 1");
CreateLabel("Ошибка 2");
CreateLabel("Ошибка 3");
}
private void CreateLabel(string text)
{
Label label = new Label
{
Location = new Point(5, 5 + count * 17),
Name = "label" + count,
Size = new Size(300, 17),
Text = text
};
Controls.Add(label);
count++;
}
