|
||||||||||||||||||||||||||||||||||||||
Стили ячеек элемента управления DataGridView в Windows Forms
Время создания: 08.04.2018 14:18
Текстовые метки: DataGridView
Раздел: VB - Формы - DataGridView
Запись: xintrea/mytetra_db_adgaver_new/master/base/1520310342s8k4wkh5gk/text.html на raw.githubusercontent.com
|
||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
Стили ячеек элемента управления DataGridView в Windows Forms Каждая ячейка в DataGridView элемент управления может иметь свой собственный стиль, включая формат текста, цвет фона, цвет и шрифт. Как правило, тем не менее, несколько ячеек обладают одинаковым стилем. Группы ячеек с одинаковым стилем могут включать все ячейки в пределах определенного строк или столбцов, все ячейки с определенными значениями или все ячейки в элементе управления. Поскольку эти группы перекрываются, каждая ячейка может получать данные своего стиля из более чем в одном месте. Например, может потребоваться каждая ячейка DataGridView использовать одинаковый шрифт, но только в столбцах для использования формат денежной единицы и только валюты ячейки с отрицательные числа красным основной цвет элемента управления. DataGridViewCellStyle Класс содержит следующие свойства, относящиеся к стилю:
Этот класс также содержит следующие свойства, связанные с форматированием:
Дополнительные сведения об этих свойствах и другие свойства стиля ячейки см. в разделе DataGridViewCellStyle справочной документации и в разделах, перечисленных в подразделе ниже. С помощью объектов DataGridViewCellStyle Вы можете получить DataGridViewCellStyle объекты из различных свойств DataGridView , DataGridViewColumn , DataGridViewRow , и DataGridViewCell и их производные классы. Если одно из этих свойств еще не было задано, его значение было получено будет создана новая DataGridViewCellStyle объекта. Можно также создать свои собственные DataGridViewCellStyle объектов и назначьте их этих свойств. Можно избежать ненужного дублирования информации о стилях, предоставив DataGridViewCellStyle объектов между несколькими DataGridView элементов. Поскольку стили элемента управления, столбца и фильтра строк уровней вниз до каждого уровня на уровне ячейки, можно также избежать дублирования стилей, задав только те свойства стилей на каждом уровне, которые отличаются от более высоких уровнях. Это описывается более подробно в следующем разделе наследования стиля. В следующей таблице перечислены основные свойства, получить или задать DataGridViewCellStyle объектов.
Как упоминалось выше, при получении значения свойства стиля автоматически создает новый DataGridViewCellStyle объекта, если свойство не было задано ранее. Во избежание без необходимости создания этих объектов, строк и столбцов классы имеют HasDefaultCellStyle свойство, которое можно проверить, чтобы определить, является ли DefaultCellStyle свойства. Аналогично, классы ячейки имеют HasStyle свойство, которое указывает ли Style свойства. Каждое из свойств стиля имеет соответствующий PropertyName Changed события DataGridView элемента управления. Для строк, столбцов и свойства ячейки, имя события начинается с «Row«,»Column», или «Cell» (например, RowDefaultCellStyleChanged ). Каждое из этих событий возникает, когда соответствующее свойство стиля с другим DataGridViewCellStyle объекта. Эти события не происходят при извлечении DataGridViewCellStyle объекта из свойства стиля и изменении значений его свойств. Чтобы реагировать на изменения в самих объектов стиля ячейки, обрабатывать CellStyleContentChanged событий. Каждый DataGridViewCell получает его внешний вид из его InheritedStyle свойство. DataGridViewCellStyle Объект, возвращаемый этим свойством наследует значения от иерархии свойств типа DataGridViewCellStyle . Эти свойства перечислены ниже в порядке, в котором InheritedStyle для ячеек не заголовков получает свои значения.
Для ячеек заголовков строк и столбцов InheritedStyle свойство заполняется значениями из следующего списка исходных свойств в определенном порядке.
Этот процесс показан на следующей схеме.
Также можно получить доступ к стилям, унаследованным от определенных строк и столбцов. Столбец InheritedStyle свойство наследует значения от следующих свойств.
Строка InheritedStyle свойство наследует значения от следующих свойств.
Для каждого свойства в DataGridViewCellStyle объект, возвращаемый InheritedStyle свойства, значение свойства извлекается из первого стиля ячейки в соответствующем списке, соответствующий свойству присвоено значение, отличное от DataGridViewCellStyle класса значения по умолчанию. В следующей таблице показано, как ForeColor наследуется от столбца, в котором значение свойства ячейка.
В этом случае Color.Red значение из строки ячейки является первым действительным значением в списке. Это становится ForeColor значение свойства ячейки InheritedStyle . На следующей схеме показана как разные DataGridViewCellStyle свойства могут наследовать значения из разных мест.
Используя преимущества наследования стиля, можно предоставить соответствующие стили для всего элемента управления без указания те же данные в нескольких местах. Несмотря на то, что ячейки заголовка участвуют в наследовании стиля, как описано, объекты, возвращенные ColumnHeadersDefaultCellStyle и RowHeadersDefaultCellStyle свойства DataGridView управления имеют начальные значения, переопределяющие значения свойств объекта, возвращенного DefaultCellStyle свойство. Если необходимо, чтобы свойства, установленные для объекта, возвращаемого DefaultCellStyle свойства, применяемый к заголовкам строк и столбцов, необходимо задать соответствующие свойства объектов, возвращенных ColumnHeadersDefaultCellStyle и RowHeadersDefaultCellStyle указанного значения по умолчанию для DataGridViewCellStyle класса. Примечание Если включены визуальные стили, заголовки строк и столбцов (за исключением TopLeftHeaderCell ) автоматически определяются текущей темы, заменяя все стили, указанные для этих свойств. DataGridViewButtonColumn , DataGridViewImageColumn , И DataGridViewCheckBoxColumn типы также инициализируют некоторые значения объекта, возвращаемого в столбце DefaultCellStyle свойство. Дополнительные сведения см. в справочной документации для этих типов. Чтобы настроить стили ячеек с определенными значениями, Реализуйте обработчик DataGridView.CellFormatting событий. Обработчики для этого события получают аргумент DataGridViewCellFormattingEventArgs типа. Этот объект содержит свойства, позволяющие определить значение ячейки, подлежащего форматированию вместе с ее расположение в DataGridView элемента управления. Этот объект также содержит CellStyle свойство, которое инициализируется значение InheritedStyle свойства форматируемой ячейки. Можно изменить свойства стиля ячейки и указать сведения о стиле, подходящие для значения ячейки и расположение. Примечание RowPrePaint И RowPostPaint событий также получать DataGridViewCellStyle данных объектов событий, но в случае их это копия строки InheritedStyle свойство только для чтения в целях, и изменения не влияют на элементе управления. Можно также динамически изменять стили отдельных ячеек в ответ на события, такие как DataGridView.CellMouseEnter и CellMouseLeave события. Например, в обработчике CellMouseEnter событий, можно сохранить текущее значение цвета фона ячеек (извлечь с помощью ячейки Style свойства), установите его в новый цвет, который будет выделяться ячейки, при наведении указателя мыши. В обработчике CellMouseLeave события, цвет фона можно будет восстановить исходное значение. Примечание Кэширование значений, хранящихся в ячейке Style свойства важно независимо от того, установлен ли значение определенного стиля. Если временно заменить параметр стиля, восстанавливая ее из копии в исходное состояние «не установлено» обеспечивает ячейки будет снова будет наследовать этот параметр стиля с более высокого уровня. Если вам нужно определить текущий стиль, действующий для ячейки независимо от того, наследуется ли стиль, использовать эту ячейку InheritedStyle свойство. DataGridView |
||||||||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
|