2010-11-11 2 views
0

У меня есть пользовательский элемент управления, в который я добавляю флажки.Каков наилучший способ перестроить checkboxex в пользовательском элементе .Net WinForm?

Я хочу изменить флажки, когда я проверить их, я имею в виду, что выбранные должны

появляются на верхней части элемента управления.

Просьба предложить эффективный способ сделать это?

+0

Это контроль WinForms? WPF? Веб-контроль ASP.NET? –

+2

Вы не думаете, что это может смутить вашего пользователя? Если они нажмут флажок и у вас есть поле, которое они просто нажмут, замените что-нибудь еще? Возможно, они игнорируют текст и думают, что их клик не работает. Может быть, они просто раздражаются, увидев, как контролируют прыжки. И т. Д. –

+1

Я не хочу препятствовать ... но это было бы ужасно. Флажки будут подпрыгивать повсюду, каждый раз, когда вас проверяют/не проверять. –

ответ

1

Положите затем в FlowLayoutPanel. Shift + Нажмите, чтобы выбрать их все и назначить обработчик события CheckedChanged. Сделать это выглядит следующим образом:

private void checkBoxes_CheckedChanged(object sender, EventArgs e) { 
     var box = (CheckBox)sender; 
     if (box.Checked) box.Parent.Controls.SetChildIndex(box, 0); 
    } 

Попробуйте, я думаю, вы найдете его, как дезориентирует, как ваш пользователь.

0

Поместите их в словарь и отсортируйте по ключевым словам. , когда вы меняете чек, обязательно делайте событие, чтобы изменить значение и прибегать к самому себе, с сортировкой пузыря при замене позиций каждого из двух.

Смежные вопросы