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 回答