我有一个表单,可以在列表框中加载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;
答案 0 :(得分:0)
由于这是加载时的过程,为什么不试试:
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();
}
答案 1 :(得分:0)
假设您的问题与Windows窗体有关,获取所选项目的一种方法是使用以下代码:
txtDisplay.Text =lstStudents.SelectedItem.ToString();
通常希望获取用户选择的所选项目,为此,您需要将上述代码放在事件中,例如:
private void lstStudents_SelectedIndexChanged(object sender, EventArgs e)
{
txtDisplay.Text = this.lstStudents.SelectedItem.ToString();
}
事件可以通过代码或通过VS IDE连接到控件,您不能只复制和粘贴上面的代码。问你,如果你不知道该怎么做。
如果您只想获取第一项,则上述Plutonix评论适用。您不需要IF语句。