测试以查看是否选择了列表框项目

本文关键字:列表 项目 选择 是否 测试 | 更新日期: 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();
        }