İngilizce dilinde oku

Aracılığıyla paylaş


ListViewItemStates Sabit listesi

Tanım

Bir öğesinin olası durumlarını ListViewItemtemsil eden sabitleri tanımlar.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

C#
[System.Flags]
public enum ListViewItemStates
Devralma
ListViewItemStates
Öznitelikler

Alanlar

Name Değer Description
Checked 8

Öğe denetlendi.

Default 32

Öğe varsayılan durumundadır.

Focused 16

Öğenin odağı vardır.

Grayed 2

Öğe devre dışı bırakıldı.

Hot 64

Öğe şu anda fare işaretçisinin altında.

Indeterminate 256

Öğe belirsiz bir durumda.

Marked 128

Öğe işaretlenir.

Selected 1

Öğe seçilir.

ShowKeyboardCues 512

Öğe bir klavye kısayolunu göstermelidir.

Örnekler

Aşağıdaki örnekte bir denetim için ListView özel çizim sağlama gösterilmektedir. Örnekteki ListView denetimin gradyan arka planı vardır. Negatif değerlere sahip alt öğeleri kırmızı ön plana ve siyah arka plana sahiptir.

Olay işleyicisi ListView.DrawItem , tüm öğelerin ve sütun başlıkları satırının arka planını çizer. Olay işleyicisi ListView.DrawSubItem , metin değerlerini ve negatif değerlere sahip alt öğeleri hem metin hem de arka planı çizer.

ContextMenu Bileşen, ayrıntılar görünümüyle liste arasında geçiş yapmak için bir yol sağlar. Liste görünümünde yalnızca ListView.DrawItem olay tetiklenir. Bu durumda, hem metin hem de arka plan olay işleyicisinde ListView.DrawItem çizilir.

Tam örnek için başvuru konusuna ListView.OwnerDraw bakın.

C#
// Draws the backgrounds for entire ListView items.
private void listView1_DrawItem(object sender,
    DrawListViewItemEventArgs e)
{
    if ((e.State & ListViewItemStates.Selected) != 0)
    {
        // Draw the background and focus rectangle for a selected item.
        e.Graphics.FillRectangle(Brushes.Maroon, e.Bounds);
        e.DrawFocusRectangle();
    }
    else
    {
        // Draw the background for an unselected item.
        using (LinearGradientBrush brush =
            new LinearGradientBrush(e.Bounds, Color.Orange,
            Color.Maroon, LinearGradientMode.Horizontal))
        {
            e.Graphics.FillRectangle(brush, e.Bounds);
        }
    }

    // Draw the item text for views other than the Details view.
    if (listView1.View != View.Details)
    {
        e.DrawText();
    }
}

Açıklamalar

Bu numaralandırma ve DrawListViewSubItemEventArgs.ItemState özellikleri tarafından DrawListViewItemEventArgs.State kullanılır. Daha fazla bilgi için ve ListView.DrawSubItem olaylarına ListView.DrawItem bakın.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Ayrıca bkz.