Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DataGridView denetimindeki her hücrenin metin biçimi, arka plan rengi, ön plan rengi ve yazı tipi gibi kendi stili olabilir. Ancak genellikle birden çok hücre belirli stil özelliklerini paylaşır.
Stilleri paylaşan hücre grupları, belirli satır veya sütunlar içindeki tüm hücreleri, belirli değerleri içeren tüm hücreleri veya denetimdeki tüm hücreleri içerebilir. Bu gruplar çakıştığı için, her hücre stil bilgilerini birden fazla yerden alabilir. Örneğin, DataGridView denetimindeki her hücrenin aynı yazı tipini kullanmasını, ancak yalnızca para birimi sütunlarındaki hücrelerin para birimi biçimini kullanmasını ve yalnızca negatif sayı içeren para birimi hücrelerinin kırmızı ön plan rengi kullanmasını isteyebilirsiniz.
DataGridViewCellStyle Sınıfı
DataGridViewCellStyle sınıfı, görsel stiliyle ilgili aşağıdaki özellikleri içerir:
Bu sınıf, biçimlendirmeyle ilgili aşağıdaki özellikleri de içerir:
Bu özellikler ve diğer hücre stili özellikler hakkında daha fazla bilgi için, DataGridViewCellStyle başvuru belgelerine ve aşağıdaki Ayrıca Bkz bölümünde listelenen konulara bakın.
DataGridViewCellStyle Nesnelerini Kullanma
DataGridViewCellStyle, DataGridView, DataGridViewColumnve DataGridViewRow sınıflarının ve türetilmiş sınıflarının çeşitli özelliklerinden DataGridViewCell nesneleri alabilirsiniz. Bu özelliklerden biri henüz ayarlanmamışsa, değerinin alınması yeni bir DataGridViewCellStyle nesnesi oluşturur. Ayrıca kendi DataGridViewCellStyle nesnelerinizin örneğini oluşturabilir ve bunları bu özelliklere atayabilirsiniz.
Birden çok DataGridViewCellStyle öğesi arasında DataGridView nesneleri paylaşarak stil bilgilerinin gereksiz şekilde çoğaltılmasını önleyebilirsiniz. Denetim, sütun ve satır düzeylerinde ayarlanan stiller her düzeyi hücre düzeyine kadar filtrelediğinden, yukarıdaki düzeylerden farklı olan her düzeyde yalnızca bu stil özelliklerini ayarlayarak stil yinelemesini önleyebilirsiniz. Bu, aşağıdaki Stil Devralma bölümünde daha ayrıntılı olarak açıklanmıştır.
Aşağıdaki tabloda, DataGridViewCellStyle nesneleri alan veya ayarlayan birincil özellikler listelenir.
| Mülkiyet | Sınıflar | Açıklama |
|---|---|---|
DefaultCellStyle |
DataGridView, DataGridViewColumn, DataGridViewRowve türetilmiş sınıflar | Denetimin tamamında (üst bilgi hücreleri dahil), sütundaki veya satırdaki tüm hücreler tarafından kullanılan varsayılan stilleri alır veya ayarlar. |
| RowsDefaultCellStyle | DataGridView | Kontrolde bulunan tüm satırlar tarafından kullanılan varsayılan hücre stillerini alır veya ayarlar. Bu, başlık hücrelerini içermez. |
| AlternatingRowsDefaultCellStyle | DataGridView | Denetimdeki dönüşümlü satırlar için kullanılan varsayılan hücre stillerini alır veya ayarlar. Kayıt defteri benzeri bir efekt oluşturmak için kullanılır. |
| RowHeadersDefaultCellStyle | DataGridView | Denetimin satır başlıkları tarafından kullanılan varsayılan hücre stillerini alır veya ayarlar. Görsel stiller etkinken geçerli tema tarafından geçersiz kılınır. |
| ColumnHeadersDefaultCellStyle | DataGridView | Denetimin sütun başlıkları tarafından kullanılan varsayılan hücre stillerini alır veya ayarlar. Görsel stiller etkinken geçerli tema tarafından geçersiz kılınır. |
| Style | DataGridViewCell ve türetilmiş sınıflar | Hücre düzeyinde belirtilen stilleri alır veya ayarlar. Bu stiller, daha yüksek düzeylerden devralınanları geçersiz kılar. |
InheritedStyle |
DataGridViewCell, DataGridViewRow, DataGridViewColumnve türetilmiş sınıflar | Daha yüksek düzeylerden devralınan stiller de dahil olmak üzere hücreye, satıra veya sütuna uygulanmış olan tüm stilleri alır. |
Yukarıda belirtildiği gibi, bir stil özelliğinin değerini almak, özellik daha önce ayarlanmamışsa otomatik olarak yeni bir DataGridViewCellStyle nesnesi örneği oluşturur. Bu nesnelerin gereksiz yere oluşturulmasını önlemek için, satır ve sütun sınıflarının HasDefaultCellStyle özelliğinin ayarlanıp ayarlanmadığını belirlemek için denetleyebileceğiniz bir DefaultCellStyle özelliği vardır. Benzer şekilde, hücre sınıflarının HasStyle özelliğinin ayarlanıp ayarlanmadığını gösteren bir Style özelliği vardır.
Stil özelliklerinin her biri, denetiminde ilgili bir ChangedDataGridView olayına sahiptir. Satır, sütun ve hücre özellikleri için, olayın adı "Row", "Column"veya "Cell" (örneğin, RowDefaultCellStyleChanged) ile başlar. Bu olayların her biri, ilgili stil özelliği farklı bir DataGridViewCellStyle nesnesine ayarlandığında gerçekleşir. Bir stil özelliğinden DataGridViewCellStyle nesnesi alıp özellik değerlerini değiştirdiğinizde bu olaylar gerçekleşmez. Hücre stili nesnelerindeki değişikliklere yanıt vermek için CellStyleContentChanged olayını işleyin.
Stil Devralma
Her bir DataGridViewCell, görünümünü InheritedStyle özelliğinden alır. Bu özellik tarafından döndürülen DataGridViewCellStyle nesnesi, değerlerini DataGridViewCellStyletüründeki bir özellik hiyerarşisinden devralır. Bu özellikler, üst bilgi olmayan hücreler için InheritedStyle'ın değerlerini alma sırasına göre aşağıda listelenmiştir.
DataGridView.AlternatingRowsDefaultCellStyle (sadece dizin numarası tek olan satırlardaki hücreler için)
Satır ve sütun üst bilgisi hücreleri için, InheritedStyle özelliği aşağıdaki kaynak özellikler listesinde belirtilen sırada değerlerle doldurulur.
Aşağıdaki diyagramda bu işlem gösterilmektedir.
DataGridViewCellStyle türü 
Belirli satır ve sütunlar için geçerli olan stillere de erişebilirsiniz. sütun InheritedStyle özelliği, değerlerini aşağıdaki özelliklerden devralır.
satır InheritedStyle özelliği, değerlerini aşağıdaki özelliklerden devralır.
DataGridView.AlternatingRowsDefaultCellStyle (sadece dizin numarası tek olan satırlardaki hücreler için)
bir DataGridViewCellStyle özelliği tarafından döndürülen bir InheritedStyle nesnesindeki her özellik için, özellik değeri, ilgili özelliğin DataGridViewCellStyle sınıfı varsayılanları dışında bir değere ayarlandığı uygun listedeki ilk hücre stilinden alınır.
Aşağıdaki tabloda, örnek bir hücrenin ForeColor özellik değerinin içeren sütunundan nasıl devralındığı gösterilmektedir.
DataGridViewCellStyle türünün özelliği |
Alınan nesne için örnek ForeColor değeri |
|---|---|
| DataGridViewCell.Style | Color.Empty |
| DataGridViewRow.DefaultCellStyle | Color.Red |
| DataGridView.AlternatingRowsDefaultCellStyle | Color.Empty |
| DataGridView.RowsDefaultCellStyle | Color.Empty |
| DataGridViewColumn.DefaultCellStyle | Color.DarkBlue |
| DataGridView.DefaultCellStyle | Color.Black |
Bu durumda, hücrenin satırındaki Color.Red değeri listedeki ilk gerçek değerdir. Bu, hücrenin ForeColorInheritedStyle özellik değeri haline gelir.
Aşağıdaki diyagramda, farklı DataGridViewCellStyle özelliklerinin değerlerini farklı yerlerden nasıl devralabileceği gösterilmektedir.
DataGridView
Stil devralma özelliğinden yararlanarak, aynı bilgileri birden çok yerde belirtmek zorunda kalmadan denetimin tamamı için uygun stilleri sağlayabilirsiniz.
Başlık hücreleri stil devralma işlemine açıklandığı gibi katılsa da, ColumnHeadersDefaultCellStyle denetiminin RowHeadersDefaultCellStyle ve DataGridView özellikleri tarafından döndürülen nesneler, DefaultCellStyle özelliği tarafından döndürülen nesnenin özellik değerlerini geçersiz kılan ilk özellik değerlerine sahiptir. DefaultCellStyle özelliği tarafından döndürülen nesne için özelliklerin satır ve sütun üst bilgilerine uygulanmasını istiyorsanız, ColumnHeadersDefaultCellStyle tarafından döndürülen nesnelerin karşılık gelen özelliklerini ve RowHeadersDefaultCellStyle özelliklerini DataGridViewCellStyle sınıfı için belirtilen varsayılanlara ayarlamanız gerekir.
Uyarı
Görsel stiller etkinleştirilirse, satır ve sütun başlıkları (TopLeftHeaderCellhariç) otomatik olarak geçerli tema tarafından stillendirilir ve bu özellikler tarafından belirtilen tüm stiller geçersiz kılınabilir.
DataGridViewButtonColumn, DataGridViewImageColumnve DataGridViewCheckBoxColumn türleri de sütun DefaultCellStyle özelliği tarafından döndürülen nesnenin bazı değerlerini başlatır. Daha fazla bilgi için bu türlerin başvuru belgelerine bakın.
Stilleri Dinamik Olarak Ayarlama
Belirli değerlere sahip hücrelerin stillerini özelleştirmek için DataGridView.CellFormatting olayı için bir işleyici uygulayın. Bu olayın işleyicileri DataGridViewCellFormattingEventArgs türünde bir bağımsız değişken alır. Bu nesne, DataGridView denetimindeki konumuyla birlikte biçimlendirilen hücrenin değerini belirlemenize olanak sağlayan özellikler içerir. Bu nesne aynı zamanda, biçimlendirilmekte olan hücrenin CellStyle özelliğinin değeriyle başlatılan InheritedStyle özelliğini içerir. Hücre değeri ve konumuna uygun stil bilgilerini belirtmek için hücre stili özelliklerini değiştirebilirsiniz.
Uyarı
RowPrePaint ve RowPostPaint olayları da olay verilerinde bir DataGridViewCellStyle nesnesi alır, ancak bu durumda, salt okunur amaçlarla satır InheritedStyle özelliğinin bir kopyasıdır ve bu nesnedeki değişiklikler denetimi etkilemez.
Ayrıca, DataGridView.CellMouseEnter ve CellMouseLeave olayları gibi olaylara yanıt olarak tek tek hücrelerin stillerini dinamik olarak değiştirebilirsiniz. Örneğin, CellMouseEnter olayının işleyicisinde, hücre arka plan renginin geçerli değerini depolayabilir (hücrenin Style özelliği aracılığıyla alınır), ardından fare üzerine geldiğinde hücreyi vurgulayacak yeni bir renge ayarlayabilirsiniz. CellMouseLeave olayının işleyicisinde arka plan rengini özgün değere geri yükleyebilirsiniz.
Uyarı
Hücrenin Style özelliğinde depolanan değerleri önbelleğe almak, belirli bir stil değerinin ayarlanıp ayarlanmadığına bakılmaksızın önemlidir. Bir stil ayarını geçici olarak değiştirirseniz, bunu özgün "ayarlanmadı" durumuna geri yüklemek, hücrenin stil ayarını daha yüksek bir düzeyden devralmaya geri dönmesini sağlar. Stilin devralınıp devralınmadığına bakılmaksızın bir hücre için geçerli olan gerçek stili belirlemeniz gerekiyorsa, hücrenin InheritedStyle özelliğini kullanın.
Ayrıca bakınız
- DataGridView
- DataGridViewCellStyle
- DataGridView.AlternatingRowsDefaultCellStyle
- DataGridView.ColumnHeadersDefaultCellStyle
- DataGridView.DefaultCellStyle
- DataGridView.RowHeadersDefaultCellStyle
- DataGridView.RowsDefaultCellStyle
- DataGridViewBand.InheritedStyle
- DataGridViewRow.InheritedStyle
- DataGridViewColumn.InheritedStyle
- DataGridViewBand.DefaultCellStyle
- DataGridViewCell.InheritedStyle
- DataGridViewCell.Style
- DataGridView.CellFormatting
- DataGridView.CellStyleContentChanged
- DataGridView.RowPrePaint
- DataGridView.RowPostPaint
- Windows Forms DataGridView Denetimi'nde Temel Biçimlendirme ve Stil
- Nasıl yapılır: Windows Forms DataGridView Denetimi için Varsayılan Hücre Stillerini Ayarlama
- Windows Forms DataGridView Kontrolünde Veri Biçimlendirme
.NET Desktop feedback