rosyBurmese Ответов: 4

использование флажка как переключателя


я хочу использовать флажок

как переключатель ....

Syed Salman Raza Zaidi

Вы имеете в виду, что пользователь должен иметь возможность выбрать только один флажок за раз?

4 Ответов

Рейтинг:
2

Sanjay K. Gupta

Для Приложения C# Win
Используйте CheckedListBox и установите свойство SelectionMode как одно


Рейтинг:
1

RDBurmon

Если вы имеете в виду дизайн то вот код

если у вас есть два флажка (Chk1,Chk2), то кодируйте следующим образом

на chk1 событие click

chk2.Checked=false;


на chk2 событие click

chk1.Checked=false;


Maciej Los

Это не очень хорошая практика :(
Я не буду голосовать против. Исправьте свой ответ.

Sergey Alexandrovich Kryukov

Вы абсолютно правы. А Рдбурмон, который пытался возразить вам в комментарии ниже, - нет. Пожалуйста, смотрите мой комментарий.
--СА

RDBurmon

Вы все еще говорите об этой бессмыслице. Я сказал, что это не связано с дизайном пользовательского интерфейса.

RDBurmon

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

Sergey Alexandrovich Kryukov

Это неправильный подход. На нелепый вопрос типа "Я хочу..." не следует отвечать подобным образом. Объяснять, как поступать неправильно, значит причинять вред, а не помогать. Вы просто следуете за ошибкой ОП и пытаетесь оправдать эту ошибку. Тот факт, что вы не видите, насколько это плохая практика, - это только ваша проблема. Вы "перечитываете вопрос" неуместно. Мы прекрасно поняли ваш вопрос; это вы не понимаете важности некоторых вещей в дизайне пользовательского интерфейса.
--СА

RDBurmon

Почему мы говорим здесь о "дизайне пользовательского интерфейса"? вот почему я сказал, чтобы перечитали вопрос. Это не связано с пользовательским интерфейсом.

Maciej Los

@RDBurmon, английский-не мой родной язык, поэтому я постараюсь изо всех сил объяснить, почему ваш ответ совсем не правильный. Как вы написали: "только один (флажок должен быть установлен) в группе" в то же время. Итак, поместите эти флажки в групповое поле, сгенерируйте события для обоих флажков, скопируйте и вставьте свой код. Вставьте точку останова в эти события, запустите приложение и убедитесь, что это не очень хороший ответ. Попробуйте тот же трюк с 10 флажками ;)

Рейтинг:
0

Sergey Alexandrovich Kryukov

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

—СА


Maciej Los

Еще один хороший момент. +5

Sergey Alexandrovich Kryukov

Спасибо, Мацей.
--СА

VJ Reddy

Хорошее предложение. 5!

Sergey Alexandrovich Kryukov

Спасибо, ви-джей.
--СА

Рейтинг:
0

Dhanraj Wanjare

Возьмите Списке checkedlistbox и позвонить ItemCheck Событие и использование ниже кода он будет вести себя как переключатели (это работает для меня):-

private void chkListBox_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if (e.NewValue == CheckState.Checked)
        {
            for (int item = 0; item < chkListBox.Items.Count; item++)
            {
                chkListBox.SetItemChecked(item, false);
            }
        }
    }