如果我传递此代码,那么它可以工作。
if (textBox1.Text == "1:1" && xOneOne == false && oOneOne == false)
{
oOneOne = true;
xOneOne = false;
pictureBox1.Refresh();
}
else
{
MessageBox.Show("Lauks ir aiznjemts xDDDD");
}
但我想创建Method,所以我不需要一遍又一遍地复制相同的代码。该方法不起作用。我想它并没有刷新图片框,因为我没有得到图片。
我的方法:
private void Aplis(TextBox textBox, string koordinatas, bool xVertiba, bool oVertiba, PictureBox PictureBox)
{
if (textBox.Text == koordinatas && xVertiba == false && oVertiba == false)
{
oVertiba = true;
xVertiba = false;
PictureBox.Refresh();
}
else
{
MessageBox.Show("Lauks ir aiznjemts xDDDD");
}
}
我试着像这样叫出来而不是我的第一个代码:
Aplis(textBox1, "1:1", xOneOne, oOneOne, pictureBox1);
答案 0 :(得分:7)
您正在方法中设置两个布尔值:
oVertiba = true;
xVertiba = false;
这些不设置传入的实际值,只是设置方法内的值。您可以将它们作为ref
传递,这将使您能够更改它们:
private void Aplis( TextBox textBox
, string koordinatas
, ref bool xVertiba
, ref bool oVertiba
, PictureBox PictureBox
)
{ }
请注意,在传递值时,您必须使用ref
关键字。
此外,xVertiba == false
可以简化为!xVertiba
,xVertiba == true
,就像xVertiba
一样。