事件处理程序对我来说仍然有点新。我想调用此方法,如果鼠标悬停在图片框的某个部分上,它将将锯齿状列表中成员的值从 0 更改为 1。
public void onMouseUp(MouseEventArgs e, List<List<int>> walls, List<List<int>> positions)
{
for (int i = 0; i < walls.Count; i++)
{
int[] mapData = mapController.getMapData(i, walls, positions);
int column = mapData[0];
int row = mapData[1];
int right = mapData[2];
int bottom = mapData[3];
if (e.X == column * mapController.map.squareSize)
{
mapController.map.cellWalls[i][0] = 1;
}
}
}
该方法可能是错误的,但我只想先调用它,然后我可以测试它。它在一个名为 mapConstructor 的类中。我有一个名为 mapDesignerView 的表单类,它有图片框。
要调用它,我从表单中尝试了这个:
private void pbxMap_MouseHover(object sender, System.EventArgs e)
{
mapConstructor.onMouseUp(e, map.cellPositions, map.cellPositions);
}
它不接受 mouseEvntArgs 参数,所以说无效参数,因为我的方法需要 mouseEventArgs。我也尝试了一些不同的事情,但想听听解决方案,而不是告诉你我尝试过的所有错误的事情。
我想,当鼠标悬停在图片框上时,我想连续调用它,当它更改列表的值时,图片框将需要重绘自身。
谢谢。