【发布时间】:2020-05-25 10:58:56
【问题描述】:
目前我有它,所以当用户从列表框中选择一个项目,然后按下一个按钮时,标签会显示一些关于该项目的文本
但是我希望这样当用户从列表框中选择/单击一个项目时,它会在标签中显示信息。并在他们单击不同的项目时更改。到目前为止,我有这个,但它什么也没做?我使用正确的方法吗?或者我的内部代码可能有问题。
private void lbCart_SelectedIndexChanged(object sender, System.EventArgs e)
{
string curItem = lbGames.SelectedItem.ToString();
int index = lbGames.FindString(curItem);
ratingLbl.Text = "Rating: " + ratingList[index];
priceLbl.Text = "Price: " + priceList[index];
}
【问题讨论】:
-
无法重现您的问题。一切似乎对我来说都很好。 (仅供参考,您可以使用
lbGames.SelectedIndex而不是查找字符串。)当您说“它什么都不做”时,您是什么意思? -
首先我意识到我使用了错误的 lb 名称,我使用了 lbCart 而不是 lbGames。我把它改成了那个,但还是不行。当我单击 lbGames 中的某个项目时,标签中没有显示任何内容。
-
我有那个确切的代码,但我在按钮方法中使用它,所以当我选择一个项目并按下按钮时,它会在标签中显示信息。但是当我只想选择一个项目(不按按钮)时似乎不起作用
-
我取出了我在 SelectedIndexChanged 方法中的代码,只是放了一个消息框,看看当我选择一个项目时它是否有任何作用,但它仍然什么都不做
-
请仔细检查此代码连接到哪个列表框。在设计器模式下查看正确列表框的事件属性,并检查其 selectedindexchanged 事件是否显示此方法。如果不是,您可以从下拉列表中选择它。方法的名称无关紧要;按照惯例,它的格式为 Controlname_event(当您双击控件时,设计器会像这样生成它)。
标签: c# winforms windows-forms-designer