【发布时间】:2012-12-13 19:42:13
【问题描述】:
我有一个checkedListBox,其中包含我在SQL 数据库中拥有的一些充电站的名称。我已经用车站名称填充了checkedListBox,我希望如果你选中框中的一个项目,一个带有文本“Km to”+itemsChecked.StationName的标签会出现在checkedListbox的下方,以及一个文本框,在那里,人们将进入到车站的公里处。 它被用来创建一个新的充电站,公里数是到下一个充电站的边缘成本。 我尝试过这样的事情:
private void stationCheckedListBox_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (BetterServiceReference.Station itemsChecked in stationCheckedListBox.CheckedItems)
{
var lbl = new Label();
lbl.Name = "lblAuto" + itemsChecked.StationId;
lbl.Text = "Km to " + itemsChecked.StationName;
lbl.AutoSize = true;
lbl.Location = new Point(33, 462);
lbl.Name = "label1";
lbl.Size = new Size(35, 13);
tabPage7.Controls.Add(lbl);
}
只是它实际上并没有创建标签。
【问题讨论】:
-
您确定要进入
foreach循环吗?我不知道“BetterServiceReference.Station”是什么,但请尝试使用foreach(var itemChecked in stationCheckedListBox.CheckedItems)之类的东西。另外,仅供参考,您将名称值设置两次... -
我之前使用过'foreach(object itemsChecked in stationCheckedListBox.CheckedItems)',结果相同。我也尝试过不使用双名称值。
-
我看到有人用 WPF 中的表格来做这件事,但我找不到任何 Win Forms 的解决方案
标签: c# winforms visual-studio checkedlistbox