Причина, по которой вы можете отображать только один результат за раз, заключается в том, что вы очищаете текущее содержимое текстового поля перед добавлением следующей строки.В частности, эта строка кода является виновником:
Result.Text="";
Поскольку вы устанавливаете свойство Text
равным пустой строке (""
), оно очищает все, что уже существует, по существу стираятекстовое поле.
Если вы просто удалите эту строку из своего кода, вы должны увидеть именно то, что вы хотите.Следующая строка добавляется к тому, что уже есть.Однако это просто прикрепит его к тому, что уже есть.
Он не вставит его в новую строку.Чтобы сделать это, вы должны вставить разрыв строки в начале:
for (int i = 0; i < 30; i++)
{
if (symptom1.Checked && symptom2.Checked)
{
Result.Text += Environment.NewLine + "Your Disease is: " + "Meningiomas";
}
if (symptom7.Checked && symptom8.Checked)
{
Result.Text += Environment.NewLine + "Your Disease is: " + "Pituitary Tumor";
}
}
(Обратите внимание, что Environment.NewLine
- это то же самое, что и escape-последовательности \r\n
. Он просто вставляет новыйТо же в любом случае.)
Если вы хотите очистить текущее содержимое текстового поля сначала , а затем добавить все значения в цикл for
, вам нужнодобавить строку кода обратно в начало функции, перед циклом для .Стилистически, я бы также написал это как string.Empty
, а не ""
, но это не имеет значения.
Result.Text = string.Empty;