Esporta (0) Stampa
Espandi tutto

Classe Splitter

Rappresenta un controllo barra di divisione che consente all'utente di ridimensionare i controlli ancorati. L'oggetto Splitter è stato sostituito da SplitContainer e viene fornito solo per la garantire la compatibilità con le versioni precedenti.

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

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class Splitter : Control
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class Splitter extends Control
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class Splitter extends Control

Il controllo Splitter consente all'utente di ridimensionare i controlli ancorati ai bordi del controllo Splitter in fase di esecuzione. Quando l'utente sposta il puntatore del mouse sul controllo Splitter, l'aspetto del cursore cambia per indicare che i controlli ancorati all'oggetto Splitter possono essere ridimensionati. Il controllo Splitter consente di ridimensionare il controllo ancorato posizionato immediatamente prima nell'ordine di ancoraggio. Per consentire il ridimensionamento del controllo ancorato, ancorare il controllo da ridimensionare al bordo di un contenitore e ancorare una barra di divisione allo stesso lato del contenitore. Per creare una finestra simile a quella di Esplora risorse, ad esempio, aggiungere un controllo TreeView a un form e impostare la relativa proprietà Dock su DockStyle.Left. Aggiungere un controllo Splitter al form e impostare anche in questo caso la relativa proprietà Dock su DockStyle.Left. Per completare il layout del form, aggiungere un controllo ListView e impostarne la proprietà Dock su DockStyle.Fill in modo che il controllo ListView occupi lo spazio residuo del form. In fase di esecuzione, l'utente potrà quindi modificare la larghezza del controllo TreeView e del controllo ListView spostando il controllo Splitter.

Per evitare che il controllo Splitter ridimensioni controlli ancorati in modo da renderli troppo piccoli per essere utilizzati, utilizzare le proprietà MinExtra e MinSize. Le proprietà MinExtra e MinSize determinano le dimensioni minime che è possibile applicare ai controlli ancorati a sinistra e a destra, o in alto e in basso se si tratta di un controllo Splitter orizzontale. Se negli altri controlli del form cui è ancorato il controllo Splitter è visualizzato uno stile specifico per il bordo, è possibile utilizzare la proprietà BorderStyle per associare lo stile del bordo dei controlli ancorati a tale controllo.

È preferibile impostare un limite per le dimensioni massime sui controlli a cui è ancorato il controllo Splitter. Gli eventi SplitterMoved e SplitterMoving consentono di determinare il momento in cui è in corso il ridimensionamento di un controllo ancorato da parte dell'utente. La proprietà SplitPosition può essere utilizzata in un gestore eventi degli eventi SplitterMoved o SplitterMoving per determinare le dimensioni del controllo cui è ancorato il controllo Splitter e impostare la proprietà SplitPosition su un valore diverso allo scopo di limitarne la larghezza massima, o l'altezza se si tratta di un controllo Splitter allineato in senso orizzontale.

NotaNota

Il ridimensionamento di un controllo mediante il controllo Splitter può essere eseguito solo con il mouse. Non è possibile accedere al controllo Splitter tramite la tastiera.

Nell'esempio di codice riportato di seguito viene utilizzato un controllo Splitter insieme ai controlli TreeView e ListView per creare una finestra simile a quella di Esplora risorse. Per identificare i controlli TreeView e ListView, a entrambi vengono aggiunti nodi ed elementi. Nell'esempio vengono utilizzate le proprietà MinExtra e MinSize del controllo Splitter per impedire che le dimensioni del controllo TreeView o del controllo ListView siano troppo piccole o troppo grandi. Nell'esempio si presuppone che il metodo creato sia definito all'interno di Form e che il metodo venga chiamato dal costruttore di Form.

private void CreateMySplitControls()
{
    // Create TreeView, ListView, and Splitter controls.
    TreeView treeView1 = new TreeView();
    ListView listView1 = new ListView();
    Splitter splitter1 = new Splitter();

    // Set the TreeView control to dock to the left side of the form.
    treeView1.Dock = DockStyle.Left;
    // Set the Splitter to dock to the left side of the TreeView control.
    splitter1.Dock = DockStyle.Left;
    // Set the minimum size the ListView control can be sized to.
    splitter1.MinExtra = 100;
    // Set the minimum size the TreeView control can be sized to.
    splitter1.MinSize = 75;
    // Set the ListView control to fill the remaining space on the form.
    listView1.Dock = DockStyle.Fill;
    // Add a TreeView and a ListView item to identify the controls on the form.
    treeView1.Nodes.Add("TreeView Node");
    listView1.Items.Add("ListView Item");

    // Add the controls in reverse order to the form to ensure proper location.
    this.Controls.AddRange(new Control[]{listView1, splitter1, treeView1});
}

private void CreateMySplitControls()
{
    // Create TreeView, ListView, and Splitter controls.
    TreeView treeView1 = new TreeView();
    ListView listView1 = new ListView();
    Splitter splitter1 = new Splitter();
    // Set the TreeView control to dock to the left side of the form.
    treeView1.set_Dock(DockStyle.Left);
    // Set the Splitter to dock to the left side of the TreeView control.
    splitter1.set_Dock(DockStyle.Left);
    // Set the minimum size the ListView control can be sized to.
    splitter1.set_MinExtra(100);
    // Set the minimum size the TreeView control can be sized to.
    splitter1.set_MinSize(75);
    // Set the ListView control to fill the remaining space on the form.
    listView1.set_Dock(DockStyle.Fill);
    // Add a TreeView and a ListView item to identify the controls on the 
    // form.
    treeView1.get_Nodes().Add("TreeView Node");
    listView1.get_Items().Add("ListView Item");
    // Add the controls in reverse order to the form to ensure proper 
    // location.
    this.get_Controls().AddRange(new Control[] { listView1, splitter1, 
        treeView1 });
} //CreateMySplitControls

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile per Pocket PC, 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.

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft