我有一個函數,我檢查一個字母是否在word-hangman遊戲中。如果不是這樣,我會將錯誤增加1.正在繪製的內容取決於錯誤。C#繪圖功能循環
我的第一個問題是,當錯誤變爲1時,函數變爲循環(我創建的messagebox僅用於測試,並且messagebox始終顯示)。
我的第二個問題是沒有任何實際繪製。我在課堂上有這樣的代碼,我希望它可以繪製到一個面板(我有多個面板)。
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 2014-10-01 13:39:11
napaka的第一個價值是什麼? 0? – 2014-10-01 13:40:23
如果消息框顯示在窗體的頂部,它會使區域無效,導致在移動/關閉它時立即引發「Paint」事件。改爲使用'Debug.WriteLine()'並在Visual Studio中觀察「輸出」窗口。 – 2014-10-01 13:40:25