У меня есть функция, где я проверяю, есть ли буква в игре с word-hangman. Если это не так, я увеличиваю ошибку на 1. То, что происходит, зависит от ошибки.C# Функция рисования циклическая
Моя первая проблема заключается в том, что когда ошибка становится равной 1, функция становится замкнутой (я создал почтовый ящик только для теста, и ящик сообщений постоянно появляется).
Моя вторая проблема заключается в том, что ничего не нарисовано. У меня есть этот код в классе, и я хочу, чтобы он рисовал на панели (у меня несколько панелей).
public void preveri()
{
for (int i = 0; i < posamezne_crke.Length; i++)
{
velika_crka = Char.ToUpper(posamezne_crke[i]).ToString();
if(tekst[i].Text == "_")
{
if (crka == velika_crka)
{
tekst[i].Text = crka;
break;
}
else
{
napaka++;
break;
}
}
}
form1.panel3_vislice.Paint += Form1_Paint; //writed here,beacouse if its on top panel3 value is null
}
public void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
if (napaka >= 1)
{
MessageBox.Show(napaka.ToString() + "a"); //just for testing
e.Graphics.DrawLine(new Pen(Color.Black, 2), 85, 190, 210, 190);
}
if (napaka >= 2)
{
MessageBox.Show(napaka.ToString() + "s"); //just for testing
e.Graphics.DrawLine(new Pen(Color.Black, 2), 148, 190, 148, 50);
}
}
Ваши имена переменных/методов по существу являются тарабарщиной для нас. Я бы рекомендовал перевести их для целей этого поста, чтобы было легче понять, что вы делаете в своем коде. – tnw
Какое первое значение напака? 0? –
Если окно сообщения отображается поверх формы, оно аннулирует область, заставляя событие «Paint» подниматься, как только вы перемещаете/закрываете его. Используйте 'Debug.WriteLine()' и смотри окно «Выход» в Visual Studio. –