测试以查看是否选择了列表框项目
本文关键字:列表 项目 选择 是否 测试 | 更新日期: 2023-09-27 18:29:51
我有一个表单,它在列表框中加载3个预定义的分数。我想将选定的分数转换为字符串,然后在文本框中输出该字符串。到目前为止,我想我已经将项目转换为字符串,并尝试将其设置为文本框,但似乎不起作用。
private void frmStudentScores_Load(object sender, EventArgs e)
{
lstStudents.Items.Clear();
lstStudents.Items.Add("Joe Smith|93|92|98");
lstStudents.Items.Add("Mike Jones|56|61|33");
lstStudents.Items.Add("Rita Jackson|100|89|96");
lstStudents.SelectedIndex = 0;
if (this.lstStudents.SelectedIndex >= 0)
{
string a = lstStudents.Items.Cast<string>().ToString();
txtDisplay.Text = a;
}
btnUpdate.Enabled = false;
假设您的问题是关于Windows窗体的,获取所选项目的一种方法是使用以下代码:
txtDisplay.Text =lstStudents.SelectedItem.ToString();
想要获得用户选择的所选项目是很常见的,要做到这一点,你需要将上面的代码放在一个事件中,看起来像这样,例如:
private void lstStudents_SelectedIndexChanged(object sender, EventArgs e)
{
txtDisplay.Text = this.lstStudents.SelectedItem.ToString();
}
事件可以通过代码或VSIDE连接到控件,不能只复制和粘贴上面的代码。如果你不知道怎么做,就问我。
如果你只想抓住第一个项目,那么上面的Plutonix评论适用。您不需要IF语句。
既然这是加载时的过程,为什么不试试:
private void frmStudentScores_Load(object sender, EventArgs e)
{
lstStudents.Items.Clear();
lstStudents.Items.Add("Joe Smith|93|92|98");
lstStudents.Items.Add("Mike Jones|56|61|33");
lstStudents.Items.Add("Rita Jackson|100|89|96");
lstStudents.SelectedIndex = 0;
txtDisplay.Text = lstStudents.Items[0].ToString();
btnUpdate.Enabled = false;
编辑
然后在列表框的事件SelectedIndexChanged
:处添加
private void lstStudents_SelectedIndexChanged(object sender, EventArgs e)
{
txtDisplay.Text = lstStudents.Items[lstStudents.SelectedIndex].ToString();
}