Evento ListView.DrawColumnHeader (System.Windows.Forms)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Evento ListView.DrawColumnHeader

Nota: questo evento è stato introdotto con .NET Framework versione 2.0.

Si verifica quando viene creata una visualizzazione di dettaglio di una classe ListView e la proprietà OwnerDraw è impostata su true.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public Event DrawColumnHeader As DrawListViewColumnHeaderEventHandler
Visual Basic (Utilizzo)
Dim instance As ListView
Dim handler As DrawListViewColumnHeaderEventHandler

AddHandler instance.DrawColumnHeader, handler

C#
public event DrawListViewColumnHeaderEventHandler DrawColumnHeader
C++
public:
event DrawListViewColumnHeaderEventHandler^ DrawColumnHeader {
	void add (DrawListViewColumnHeaderEventHandler^ value);
	void remove (DrawListViewColumnHeaderEventHandler^ value);
}
J#
/** @event */
public void add_DrawColumnHeader (DrawListViewColumnHeaderEventHandler value)

/** @event */
public void remove_DrawColumnHeader (DrawListViewColumnHeaderEventHandler value)

JScript
JScript supporta l'utilizzo di eventi ma non la dichiarazione di nuovi.
Note

Questo evento consente di personalizzare l'aspetto di un controllo ListView mediante il disegno personalizzato. Viene generato solo se la proprietà OwnerDraw è impostata su true e la proprietà View è impostata su View.Details. Questo evento si verifica per ciascuna intestazione di colonna nel controllo. Per ulteriori informazioni sul disegno personalizzato, vedere l'argomento relativo alla proprietà OwnerDraw.

Per ulteriori informazioni sulla gestione di eventi, vedere Utilizzo degli eventi.

Esempio

Nell'esempio di codice riportato di seguito viene illustrata un'implementazione di un gestore eventi DrawColumnHeader. Per l'esempio completo, compresa l'implementazione del gestore eventi DrawSubItem, vedere l'argomento relativo alla proprietà OwnerDraw.

Visual Basic
' Draws column headers.
Private Sub listView1_DrawColumnHeader(ByVal sender As Object, _
    ByVal e As DrawListViewColumnHeaderEventArgs) _
    Handles listView1.DrawColumnHeader

    Dim sf As New StringFormat()
    Try

        ' Store the column text alignment, letting it default
        ' to Left if it has not been set to Center or Right.
        Select Case e.Header.TextAlign
            Case HorizontalAlignment.Center
                sf.Alignment = StringAlignment.Center
            Case HorizontalAlignment.Right
                sf.Alignment = StringAlignment.Far
        End Select

        ' Draw the standard header background.
        e.DrawBackground()

        ' Draw the header text.
        Dim headerFont As New Font("Helvetica", 10, FontStyle.Bold)
        Try
            e.Graphics.DrawString(e.Header.Text, headerFont, _
                Brushes.Black, e.Bounds, sf)
        Finally
            headerFont.Dispose()
        End Try

    Finally
        sf.Dispose()
    End Try

End Sub

C#
// Draws column headers.
private void listView1_DrawColumnHeader(object sender,
    DrawListViewColumnHeaderEventArgs e)
{
    using (StringFormat sf = new StringFormat())
    {
        // Store the column text alignment, letting it default
        // to Left if it has not been set to Center or Right.
        switch (e.Header.TextAlign)
        {
            case HorizontalAlignment.Center:
                sf.Alignment = StringAlignment.Center;
                break;
            case HorizontalAlignment.Right:
                sf.Alignment = StringAlignment.Far;
                break;
        }

        // Draw the standard header background.
        e.DrawBackground();

        // Draw the header text.
        using (Font headerFont =
                    new Font("Helvetica", 10, FontStyle.Bold))
        {
            e.Graphics.DrawString(e.Header.Text, headerFont,
                Brushes.Black, e.Bounds, sf);
        }
    }
    return;
}

C++
   // Draws column headers.
private:
   void listView1_DrawColumnHeader( Object^ /*sender*/, DrawListViewColumnHeaderEventArgs^ e )
   {
      StringFormat^ sf = gcnew StringFormat;
      try
      {
         // Store the column text alignment, letting it default
         // to Left if it has not been set to Center or Right.
         switch ( e->Header->TextAlign )
         {
            case HorizontalAlignment::Center:
               sf->Alignment = StringAlignment::Center;
               break;

            case HorizontalAlignment::Right:
               sf->Alignment = StringAlignment::Far;
               break;
         }

         // Draw the standard header background.
         e->DrawBackground();

         // Draw the header text.
         System::Drawing::Font^ headerFont = gcnew System::Drawing::Font( "Helvetica",10,FontStyle::Bold );
         try
         {
            e->Graphics->DrawString( e->Header->Text, headerFont, Brushes::Black, e->Bounds, sf );
         }
         finally
         {
            if ( headerFont )
               delete (IDisposable^)headerFont;
         }
      }
      finally
      {
         if ( sf )
            delete (IDisposable^)sf;
      }

      return;
   }

Piattaforme

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0
Vedere anche