【发布时间】:2009-12-16 08:45:28
【问题描述】:
如果未选中,我表单中的 CheckBox 根本不会从列表框中删除项目,即使我在正确的事件中有它
private void WWW_checkbox_Checked(object sender, RoutedEventArgs e)
{
packagelist_listbox.Items.Remove(SelectaCategory_listbox);
LoadPackageList.Load("www.xml");
XmlNodeList WWWPackageList = LoadPackageList.SelectNodes("/Packages/*");
int countthenodes = 0;
//Removes the text "Select A Category" and refrehes the form
foreach (XmlNode WWWPackages in WWWPackageList)
{
//Adds each attribute to the apropriate variable
WWWPackageTitle.Add(WWWPackages.Attributes["title"].Value.ToString());
WWWPackageInfoPage.Add(WWWPackages.Attributes["infopage"].Value.ToString());
WWWPackageDLURL.Add(WWWPackages.Attributes["dlurl"].Value.ToString());
WWWPackageID.Add(WWWPackages.Attributes["id"].Value.ToString());
if (WWW_checkbox.IsChecked == true)
{
packagelist_listbox.Items.Add(WWWPackageTitle[countthenodes]);
}
countthenodes++;
}
packagelist_listbox.Items.Refresh();
Refresh(packagelist_listbox);
}
private void WWW_checkbox_Click(object sender, RoutedEventArgs e)
{
if (WWW_checkbox.IsChecked == false)
{
foreach (string EachPackageWWW in WWWPackageTitle)
{
packagelist_listbox.Items.Remove(packagelist_listbox.Items.Contains(EachPackageWWW));
}
}
packagelist_listbox.Items.Refresh();
Refresh(packagelist_listbox);
}
刷新正常工作,因为它会在您每次检查时将相同的内容添加到列表框
【问题讨论】: