Condividi tramite


Procedura: Definire il comportamento di ridimensionamento e posizionamento in una finestra divisa

I pannelli del controllo SplitContainer si prestano bene a essere ridimensionati e manipolati dagli utenti. Tuttavia, ci saranno momenti in cui si vuole controllare a livello di codice il separatore, dove è posizionato e in quale grado può essere spostato.

La proprietà SplitterIncrement e le altre proprietà del controllo SplitContainer offrono un controllo preciso sul comportamento dell'interfaccia utente in base alle proprie esigenze. Queste proprietà sono elencate nella tabella seguente.

Nome Descrizione
IsSplitterFixed proprietà Determina se il separatore è mobile tramite la tastiera o il mouse.
SplitterDistance proprietà Determina la distanza in pixel dal bordo sinistro o superiore alla barra di divisione mobile.
SplitterIncrement proprietà Determina la distanza minima, in pixel, di cui l'utente può spostare il separatore.

Nell'esempio seguente viene modificata la proprietà SplitterIncrement per creare un effetto di "snapping splitter"; quando l'utente trascina il separatore, si incrementa di 10 pixel anziché il valore predefinito di 1 pixel.

Per definire il comportamento di ridimensionamento di SplitContainer

  1. In una procedura, impostare la proprietà SplitterIncrement alla dimensione desiderata, in modo da ottenere il comportamento di "snapping" del separatore.

    Nell'esempio di codice seguente, all'interno dell'evento Load della maschera, il separatore all'interno del controllo SplitContainer è impostato per fare salti di 10 pixel quando viene trascinato.

    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 seguente nel costruttore del modulo per registrare il gestore eventi.

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

    Lo spostamento del separatore leggermente a sinistra o a destra non avrà alcun effetto rilevabile; tuttavia, quando il puntatore del mouse si sposta di 10 pixel in entrambe le direzioni, il separatore si aggancierà alla nuova posizione.

Vedere anche