|
Программирование >> Web ориентированные приложения
управления Label всегда доступен только для чтения - пользователь не может изменить значение строки в его свойстве Text. Однако вы можете изменять значение свойства Text программно. Свойство UseMnemonic позволяет включить функциональность клавиши доступа. Когда букве в свойстве Text предшествует символ амперсанда ( &), эта буква высвечивается с подчеркиванием. Нажатие клавиши <Alt> в сочетании с клавишей этой буквы устанавливает фокус на следующий (в порядке обхода) после метки элемент управления. Если свойство Text уже содержит в тексте амперсанд, то добавление второго не вызовет подчеркивания буквы. Например, если текстом метки должно быть Nuts & Bolts, то свойство должно иметь значение Nuts && Bolts. Поскольку элемент управления Label доступен только для чтения, он не может получать фокус - вот почему фокус передается следующему доступному элементу управления. По этой причине важно помнить, что если вы используете мнемонику (т.е. клавишу быстрого доступа), нужно правильно устанавливать в форме порядок обхода с помощью клавиши табуляции. Свойство AutoSize содержит булевское значение, указывающее на то, что Label может автоматически изменять свой размер в соответствии со значением текста метки. Это может быть удобно для многоязычных приложений, где длина свойства Text изменяется в зависимости от текущего языка. ListView Элемент управления ListView позволяет отображать список элементов одним из нескольких способов. Можно отобразить текст с необязательной крупной пиктограммой, текст с необязательной маленькой пиктограммой или текст и маленькую пиктограмму в вертикальном списке либо в детальном представлении - когда отображается текст элемента с некоторыми дополнительными элементами в последующих столбцах. Это должно показаться вам знакомым, потому что именно так в правой части проводника файлов отображается содержимое текущей папки. ListView содержит коллекцию элементов типа ListViewItem. Класс ListViewItem позволяет устанавливать свойство Text, используемое для отображения. Кроме того, ListViewItem содержит свойство с именем SubItems, которое включает текст, появляющийся в детальном представлении. Следующий пример демонстрирует использование ListView. Этот пример имеет дело с коротким списком стран. Каждый объект CountryList включает свойства наименования страны, аббревиатуры и валюты. Код класса CountryItem - элемента CountryList - выглядит следующим образом: using System; namespace FormsSample public class CountryItem : System.Windows.Forms.ListViewItem string cntryName = ; string cntryAbbrev = ; public CountryItem(string countryName, string countryAbbreviation, string currency) cntryName = countryName; cntryAbbrev = countryAbbreviation; base.Text = cntryName; base.SubItems.Add(currency); public string CountryName get {return cntryName;} public string CountryAbbreviation get {return cntryAbbrev;} Обратите внимание, что класс CountryItem унаследован от ListViewItem. Это объясняется тем, что в элемент управления ListView можно добавлять только объекты, базирующиеся на ListViewItem. В конструкторе передается название страны свойству base.Text и добавляется значение валюты в свойство base.SubItems. Это позволяет отобразить название страны в списке и валюту - в отдельном столбце детального представления. Далее в коде формы необходимо добавить несколько объектов CountryItem к элементу управления ListView: lvCountries.Items.Add(new CountryItem( United States , US , Dollar )); lvCountries.Items[0].ImageIndex = 0; lvCountries.Items.Add(new CountryItem( Great Britain , GB , Pound )); lvCountries.Items[1].ImageIndex = 1; lvCountries.Items.Add(new CountryItem( Canada , CA , Dollar )); lvCountries.Items[2].ImageIndex = 2; lvCountries.Items.Add(new CountryItem( Japan , JP , Yen )); lvCountries.Items[3].ImageIndex = 3; lvCountries.Items.Add(new CountryItem( Germany , GM , Euro )); lvCountries.Items[4].ImageIndex = 4; Здесь мы добавляем новые элементы типа CountryItem в коллекцию Items элемента управления ListView (lvCountries). Отметим, что свойство ImageIndex элемента устанавливается после его добавления в список. Предусмотрено два объекта ImageIndex - один для больших пиктограмм и один для маленьких (свойства SmallImageList и LargeImageList). Цель наличия двух ImageList с изображениями разного размера состоит в том, чтобы обеспечить добавление элементов в ImageList в одинаковом порядке. Таким образом, индекс в каждом ImageList будет указывать на одно и то же изображение, но разного размера. В этом примере ImageList содержит пиктограммы флагов каждой добавленной в список страны. В верхней части формы находится элемент управления ComboBox (cbView), в котором перечислены четыре значения перечисления View. Его элементы вставлены следующим образом: cbView.Items.Add(View.LargeIcon); cbView.Items.Add(View.SmallIcon); cbView.Items.Add(View.List); cbView.Items.Add(View.Details); cbView.SelectedIndex = 0; В событие SelectedIndexChanged элемента cbView добавляем единственную строку кода: lvCountries.View = (View)cbView.SelectedItem; Это присваивает свойству View элемента lvCountries новое значение, выбранное в выпадающем списке - элементе управления ComboBox. Обратите внимание, что при этом должно быть выполнено приведение к типу View, поскольку его свойство SelectedItem возвращает object. И последнее, что нужно сделать - по порядку, но не по важности - добавить столбцы в коллекцию Columns. Столбцы необходимы для отображения в детальном пред- ставлении. В данном случае мы добавляем два столбца - Country (Страна) и Currency (Валюта). Порядок следования столбцов следующий: сначала идет Text элемента типа ListViewItem, затем каждый из элементов коллекции ListViewItem.SubItem - в том порядке, как они появляются в коллекции. Столбцы можно добавлять путем создания объекта ColumnHeader и установки его свойства Text, а также необязательных свойств Width и Alignment. После создания объекта ColumnHeader его можно добавить к свойству Columns. Другой способ добавления столбцов предполагает использование переопределения метода Columns.Add. Он позволяет передать ему сразу значения Text, Width и Alignment нового столбца. Вот пример: lvCountries.Columns.Add( Country , 100, HorizontalAlignment.Left); lvCountries.Columns.Add( Currency , 100, HorizontalAlignment.Left); Если свойство AllowColumnReorder установлено в true, пользователь имеет возможность перетаскивать заголовки столбцов с места на место, изменяя их последовательность. Свойство CheckBoxes элемента ListView показывает флажки рядом с элементами списка в ListView. Это дает возможность пользователю легко выбирать множество элементов в элементе управления ListView. Проверить, какие элементы отмечены, можно в коллекции CheckedItems. Свойство Alingment устанавливает выравнивание пиктограмм в представлениях списка с большими и малыми пиктограммами. Значение может быть любым из перечисления ListViewAlignment, а именно: Default, Left, Top и SnapToGrid. Значение Default разрешает пользователю размещать пиктограммы в любых позициях, где он пожелает. При выборе Left или Top элементы выравниваются по левому краю или по верху ListView. При выборе SnapToGrid элементы ListView расставляются в узлах невидимой сетки в элементе управления ListView. Свойство AutoArrange принимает булевское значение, указывающее на необходимость автоматического выравнивания в соответствии с выбранным значением Alignment. PictureBox Элемент управления PictureBox применяется для отображения графических изображений. Изображение может быть в формате BMP, JPEG, GIF, PNG, метафайла или пиктограммы. Свойство SizeMode использует перечисление PictureBoxSizeMode для определения того, как изображение размещается в элементе управления. SizeMode может быть равно AutoSize, CenterImage, Normal или StretchImage. Размер отображения PictureBox можно изменять, устанавливая свойство ClientSize. При создании PictureBox сначала создается объект, базирующийся на Image. Например, чтобы загрузить файл JPEG в PictureBox, нужно поступить следующим образом: Bitmap myJpeg = new Bitmap( mypic.jpg ); pictureBox1.Image = (Image)myJpeg; Отметим необходимость приведения к типу Image, поскольку свойство Image элемента управления PictureBox имеет этот тип. ProgressBar Элемент управления ProgressBar (индикатор хода работ) используется для визуального представления состояния длительного действия. Он уведомляет пользователя, что нечто происходит, поэтому следует подождать. Для элемента управления ProgressBar устанавливаются значения свойств Minimum и Maximum. Эти свойства со-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |