我有一个窗体,里面有一些控件,比如说 textbox ,checkbox,用来显示我的xml文件里的信息。在我的xml文件里,有很多条我已经录好的信息,窗体上有个button,里面写的方法是表示读取上一条记录,还有个button是表示读取下一条记录,并把读取的信息显示在窗体的控件上,为什么运行时当我点击读取上一条就会出现 索引超出范围 ?
还有就是,当我一直点击读取下一条记录时,当读到xml文件中最后一条信息后,再读取的话,也会 出现 索引超出范围 ?
代码如下:
int n = 0;
List<CPlayer> m_listPlayers = new List<CPlayer>();
//读取上一条信息
private void btPrevious_Click(object sender, EventArgs e)
{
this.txtName.Text = m_listPlayers[n].StarName;
this.cbSportName.SelectedItem = m_listPlayers[n].SportName;
n--;
}
//读取下一条信息
private void btNext_Click(object sender, EventArgs e)
{
this.txtName.Text = m_listPlayers[n].StarName;
this.cbSportName.SelectedItem = m_listPlayers[n].SportName;
n++;
}
还有就是,当我一直点击读取下一条记录时,当读到xml文件中最后一条信息后,再读取的话,也会 出现 索引超出范围 ?
代码如下:
int n = 0;
List<CPlayer> m_listPlayers = new List<CPlayer>();
//读取上一条信息
private void btPrevious_Click(object sender, EventArgs e)
{
this.txtName.Text = m_listPlayers[n].StarName;
this.cbSportName.SelectedItem = m_listPlayers[n].SportName;
n--;
}
//读取下一条信息
private void btNext_Click(object sender, EventArgs e)
{
this.txtName.Text = m_listPlayers[n].StarName;
this.cbSportName.SelectedItem = m_listPlayers[n].SportName;
n++;
}
解决方案 »
- C# 怎么办???
- RichTextBox 如何设置行高?
- 求 章立民的 《visual C# 2005 程序开发与界面设计秘诀》电子书 下载地址
- 07应届毕业的程序员该何去何从?请大家近来讨论一下?给个意见和建议?(我没学到东西)
- WinForm里的DateGrid获取行,列的语句怎么写?
- 关于C#网络数据传输的问题
- 2006年是学习的一年,MS全线产品升级,特创建QQ群与高手交流
- 关于form窗体与线程问题
- 一个超菜鸟问题请赐教
- c#调用xmlhttp时报了异常,求解
- 微软企业库中的Logging Application Block用XML作为记录格式,如何设定文件相对路径?
- C#如何在外部程序的密码框内自动输入密码
如果n==0,“上一条”按钮设为不可以点击
如果n==条数-1,“下一条”按钮设为不可以点击
private void btPrevious_Click(object sender, EventArgs e)
{
if (n > 0)
{
n--;
}
} private void btNext_Click(object sender, EventArgs e)
{
if (n < m_listPlayers.Count - 1)
{
n++;
}
}
当你的n=最大值的时候,你还给它n++,索引也当然会超出范围,
所以,在点击上一条和下一条时进行判断其n的值。
CPlayer cPlayer = new CPlayer();
cPlayer.SportName = cbSportName.SelectedItem.ToString();
cPlayer.StarName = txtName.Text.Trim();