0

これは、プログラムを実行しようとしたときに表示されるエラーです。(バックグラウンドの Minecraft ですみません。これは、私が作成しようとしているものの重要な部分です)

エラーを受け取りました

これが私が実行しようとしていたC#コードです

    int oldCount;

    string RecentPlayer;
    string val;

    public void SetBalloonTip()
    {

        NewPlayerMessage.BalloonTipTitle = "A Player Has Joined!";

        NewPlayerMessage.BalloonTipText = RecentPlayer + " has joined your server " + ConfigKey.ServerName.GetString();
        NewPlayerMessage.BalloonTipIcon = ToolTipIcon.Info;

    }

    private void PlayerListUpdates_Tick(object sender, EventArgs e)
    {
                oldCount = playerList.Items.Count - 1;
                if (oldCount < playerList.Items.Count)
                {
                    if (playerList.Items.Count > 0)
                    {
                        RecentPlayer = playerList.Items[playerList.Items.Count].ToString();

                        val = playerList.Items[playerList.Items.Count].ToString();
                        NewPlayerMessage.Visible = true;
                        SetBalloonTip();
                        NewPlayerMessage.ShowBalloonTip(50000);

                    }

                }
                else {
                    return;
        }

    }
4

1 に答える 1

7

解決策 1 :配列インデックスは常に次で始まり、次Zeroで終わることを覚えておく必要があります。Count-1

これを置き換えます:

playerList.Items[playerList.Items.Count]

これとともに:

playerList.Items[playerList.Items.Count-1]

また

解決策2:oldCount値を保持する変数を使用するだけですplayerList.Items.Count - 1

これを置き換えます:

playerList.Items[playerList.Items.Count]

これとともに:

playerList.Items[oldCount]
于 2014-02-09T19:41:11.480 に答える