У меня есть DataBound CheckedListBox, я «проверяю» несколько элементов в окне списка (источник), затем мне нужно клонировать его в новый флажок с проверенным списком (цель). Он должен иметь все данные с проверенным состоянием. Я пробовал со следующей функцией. Он правильно протекает через эту функцию.Clone a DataBound Checked List Box
Но, наконец, я могу видеть объекты в целевом контроле CheckedListBox, но ни один из объектов в мишени не проверен.
private void CloneCheckedListBox(CheckedListBox source, CheckedListBox target)
{
foreach (int checkedItemIndex in source.CheckedIndices)
{
target.SetItemChecked(checkedItemIndex, true);
}
}
Edit:
У меня есть пользовательский элемент управления, который я поставил на TabPage, на Пользовательском Control есть «CheckedListBox», мне нужно создать новый TabPage с введенной пользователем значения на выбранном (текущем) TabPage (on User Control)
Итак, что я сделал, создайте новую страницу вкладок, получите копию пользовательского элемента управления, назвав ее методом «Clone()».
В методе клонирования() необходимо иметь функцию клонирования CheckedListBox.
Вот мой Клонирование код, который находится на контроле пользователя ...
public SearchMain Clone()
{
SearchMain smClone = new SearchMain();
smClone.txtManufacturers.Text = this.txtManufacturers.Text;
smClone.udPriceFrom.Value = this.udPriceFrom.Value;
smClone.udPriceTo.Value = this.udPriceTo.Value;
smClone.chkOld.Checked = this.chkOld.Checked;
smClone.chkPrx.Checked = this.chkPrx.Checked;
smClone.chkDisc.Checked = this.chkDisc.Checked;
smClone.chkStock.Checked = this.chkStock.Checked;
smClone.chkFirstDes.Checked = this.chkFirstDes.Checked;
smClone.chkFirstPN.Checked = this.chkFirstPN.Checked;
smClone.txtSuppPN.Text = this.txtSuppPN.Text;
smClone.txtManuPN.Text = this.txtManuPN.Text;
smClone.txtManufacturers.Text = this.txtManufacturers.Text;
smClone.meDesAND.Text = this.meDesAND.Text;
smClone.meDesOR.Text = this.meDesOR.Text;
smClone.meDesNOT.Text = this.meDesNOT.Text;
smClone.lbManufacSelected.Items.AddRange(this.lbManufacSelected.Items);
smClone.lbSearchWithIn.Items.AddRange(this.lbSearchWithIn.Items);
**CloneCheckedListBox(this.clbLang, smClone.clbLang);**
// CloneCheckedListBox(this.clbTypes, smClone.clbTypes);
return smClone;
}
Так скажите нам, что вы пробовали. Операция довольно тривиальная. – leppie
Где вы копируете фактические предметы от одного к другому? – leppie
Покажите нам еще один код, поэтому мы знаем, что вы хотите делать – Kimtho6