0

イベント ハンドラーは、私にとってまだ少し新しいものです。ピクチャ ボックスの特定の部分にマウスを置いた場合に、ギザギザのリストのメンバーの値を 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 が必要なため、引数が無効であると表示されます。私もいくつかの異なることを試しましたが、私が試したすべての間違ったことを伝えるのではなく、解決策を聞きたい.

マウスがピクチャボックスの上に置かれている間、それを継続的に呼び出したいと思います。リストの値を変更すると、ピクチャボックス自体を再描画する必要があります。

ありがとう。

4

1 に答える 1