Condividi tramite


Procedura: definire il ridimensionamento e il posizionamento in una finestra divisa

I pannelli del controllo SplitContainer possono essere facilmente ridimensionati e modificati dagli utenti. È tuttavia possibile controllare la barra di divisione anche a livello di codice, determinandone la posizione e l'entità dello spostamento.

La proprietà SplitterIncrement e le altre proprietà del controllo SplitContainer consentono di controllare con precisione il comportamento dell'interfaccia utente, in modo da rispondere a esigenze specifiche. Queste proprietà sono elencate nella tabella che segue.

Nome

Descrizione

Proprietà IsSplitterFixed

Determina se la barra di divisione può essere spostata tramite mouse o tastiera.

Proprietà SplitterDistance

Determina la distanza in pixel dal bordo superiore o sinistro alla barra di divisione mobile.

Proprietà SplitterIncrement

Determina la distanza minima in pixel per cui la barra di divisione può essere spostata dall'utente.

Nell'esempio che segue la proprietà SplitterIncrement viene modificata in modo da creare un effetto di "aggancio della barra di divisione". Quando l'utente trascina la barra di divisione la posizione viene incrementata in unità di 10 pixel, anziché di 1 pixel come avviene per impostazione predefinita.

Per definire il comportamento di ridimensionamento del controllo SplitContainer

  • In una routine impostare la proprietà SplitterIncrement sulle dimensioni desiderate, in modo da ottenere l'effetto di aggancio del separatore.

    Nell'esempio di codice che segue, nell'ambito dell'evento Load del form la barra di divisione nel controllo SplitContainer viene impostata in modo da spostarsi di 10 pixel alla volta quando la si trascina.

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        Dim splitSnapper as new SplitContainer()
        splitSnapper.SplitterIncrement = 10
        splitSnapper.Dock = DockStyle.Fill
        splitSnapper.Parent = me
    End Sub
    
    private void Form1_Load(System.Object sender, System.EventArgs e)
    {
        SplitContainer splitSnapper = new SplitContainer();
        splitSnapper.SplitterIncrement = 10;
        splitSnapper.Dock = DockStyle.Fill;
        splitSnapper.Parent = this;
    }
    

    (Visual C#) Inserire il codice che segue nel costruttore del form per registrare il gestore eventi.

    this.Load += new System.EventHandler(this.Form1_Load);
    

    Se la barra di divisione viene spostata leggermente verso sinistra o verso destra, non si otterrà alcun effetto visibile. Se invece il puntatore del mouse si sposta di 10 pixel in direzione orizzontale, la barra di divisione verrà bloccata sulla nuova posizione.

Vedere anche

Riferimenti

SplitContainer

SplitterIncrement