如何在c#中的子程序中更改操作?
问题描述:
我写了一个代码,当点击一个按钮时,它会使图片框移动。例如,右键使用此代码:如何在c#中的子程序中更改操作?
private void btnRight_Click(object sender, EventArgs e)
{
//move right
if (stopThePlayer == true)
{
return;
}
else
{
x = x + speed;
RightBoundary();
MovingSubprograms();
}
}
不要担心子程序。我想知道的是有没有一种方法,我只能改变x = x + speed;
部分。例如,在左边的按钮中,我想使它成为x = x - speed
。所以基本上我只是创建一个子程序,只改变代码。那可能吗?谢谢。
答
最好的办法是创建一个接受的,你想改变参数的函数:
private void MovePlayer(int offset)
{
//move right
if (stopThePlayer == true)
{
return;
}
else
{
x = x + offset;
RightBoundary();
MovingSubprograms();
}
}
private void btnRight_Click(object sender, EventArgs e)
{
MovePlayer(speed);
}
private void btnLeft_Click(object sender, EventArgs e)
{
MovePlayer(speed*-1);
}
+1
这很有道理,谢谢! – Qedized
位置属性是一个点,这是基本的坐标。所以从当前位置创建一个新点并根据功能添加和减去x,并将位置属性设置为该点简单 – Ramankingdom
您不会创建“子程序”。您将创建另一个处理btnLeft_Click事件的事件处理程序,并将执行您所说的内容(所有相同的代码,除'x = x - speed'外),但实际上不重复代码,将其放入单独的函数中。 ..当然,这会把你带到@JohnKoerner的答案。 – AgapwIesu