понедельник, 20 сентября 2010 г.

Common Controls 2

Так, вчера я предложил познакомиться с общими компонентами (Common Controls) – мы даже рассмотрели немного информации про кнопки. Вчерашняя статья была, так сказать, вводной, я там рассказал про эти самые общие компоненты, как примерно будет проходить повествование о них в ближайшей серии статей. А вот сегодня уже предлагаю более подробно окунуться в этот мир.

CheckBox:

CheckBox – это флажок (так с английского языка переводится). То есть, можно догадаться, что он несет в себе два состояния – либо да, либо нет. Возможно и третье состояние (неопределенное), но подробно рассматривать его мы не будем. Флажок нужен тогда, когда у вас есть какие-нибудь свойства, которые либо есть, либо нет (повторился, но что ж тут поделаешь, раз смысл CheckBoxa такой).
Самый простой пример, который мне приходит в голову – это Word. Откройте его (либо другой какой-нибудь подобный редактор), выделите какое-нибудь слово, нажмите правой клавишей мыши и из контекстного меню выберите пункт «Шрифт». У вас появится окно, в котором вы можете выбрать множество настроек:



Вот так и работает CheckBox. Можно одновременно сделать активными несколько таких флажков. За это отвечает свойство Checked, которому можно присвоить значение либо True либо False (он либо выделен, либо нет). Еще одно свойство, которое вам пригодится – это CheckStat – оно отвечает за состояние флажка:



Как вы видите, у него есть три состояния – Unchecked (не выделен, Checked = False), Checked (выделен, Checked = True) и Indeterminate (неопределенное состояние). Можно поиграться с этими параметрами. И еще расскажу про два свойства. Первое – это стандартное Click – возникает при нажатии на флажок, тут даже особо говорить не стоит. А вот второе – это CheckedChanged – возникает тогда, когда произошла смена состояния флажка, иногда в программах может пригодиться.

CheckedListBox:

Можно перевести как список флажков. Вполне логично – CheckedListBox объединяет в себе множество CheckBox’ов. Кроме того, можно программно добавлять туда еще флажки – необходимо для того, если вы имеете дело с динамическим списком подобных элементов. За добавление нового элемента в список отвечает свойство Items (чаще всего такое же свойство будет и у других компонентов, в которые можно добавлять элементы). Нажав на кнопку с тремя точками (в свойстве Items) перед вами отроется окно, в которое необходимо ввести названия элементов, разделяя каждый друг от друга символом новой строки:



Нажимаем ОК – и перед нами открывается именно то, что мы и ждали – список созданных элементов, флажки к которым можно изменять:



Чтобы узнать, какой элемент сейчас выделен (именно выделен, а не флажок на нем выбран) – можно обратиться к свойству SelectedItem (программно). Добавьте к программе (которая описана выше) кнопку, и у нее в обработчике нажатия вставьте вот эту строку кода:

        MsgBox(CheckedListBox1.SelectedItem.ToString)

И попробуйте протестировать. Только сначала какую-нибудь строку выделите, а то если у вас ничего не будет выделено – программа вылетит с ошибкой. Чтобы проверить, какие элементы у нас выбраны (то есть – где флажок стоит) – можно использовать свойство
CheckedItems. Оно тоже будет доступно программно, нужно обрабатывать их в цикле. Я сейчас этого делать не буду. Я не стараюсь подробно все рассмотреть – только в целях знакомства. А также быстренько познакомлю вас с программным добавлением элементов в этот CheckedListBox. Логично, что для этого нам надо к этому ЛистБоксу добавить новые элементы и либо выделить их, либо нет – конструкция получается следующая: 

CheckedListBox1.Items.Add("Шестой элемент", True)

Удалите то, что было у вас в обработчике кнопки до этого – и вставьте вышеприведенный код, после нажатия на кнопку у вас должен появиться выделенный флажок, имя которого будет «Шестой элемент». Быстренько пробегусь еще по двум свойствам – это
CheckedIndices – тут содержится массив чисел, которые являются индексами выделенных элементов в списке. И метод RemoveAt, который удаляет элемент по индексу. Вот пожалуй и все надо закончить на чем-нибудь.

Уфф, какая статья получилась, не ожидал. Все-таки напряжно работать в ИТ-сфере. Знаю вот студию дизайна Webinvite – там хоть и сложно работать, но делают они это профессионально. Но если Вы поработали мало и у Вас мало денег – то можно купить китайские телефоны дешево – быстро и просто, удачи.


Комментариев нет:

Отправить комментарий