Udostępnij za pośrednictwem


Porady: definiowanie zachowania dotyczącego zmieniania rozmiaru i pozycjonowania w podzielonym oknie

Panele kontrolki SplitContainer dobrze nadają się do zmiany rozmiaru i manipulowania przez użytkowników. Jednak będą czasy, kiedy chcesz programowo kontrolować rozdzielacz — gdzie jest on umieszczony i w jakim stopniu można go przenieść.

Właściwość SplitterIncrement i inne właściwości kontrolki SplitContainer zapewniają dokładną kontrolę nad zachowaniem interfejsu użytkownika zgodnie z potrzebami. Listę tych właściwości zamieszczono w poniższej tabeli.

Nazwa/nazwisko opis
IsSplitterFixed Właściwość Określa, czy rozdzielacz jest ruchomy za pomocą klawiatury lub myszy.
SplitterDistance Właściwość Określa odległość w pikselach od lewej lub górnej krawędzi do ruchomego paska podziału.
SplitterIncrement Właściwość Określa minimalną odległość w pikselach, którą można przenieść przez użytkownika podziału.

Poniższy przykład modyfikuje właściwość w SplitterIncrement celu utworzenia efektu "przyciągania podziału"; gdy użytkownik przeciąga rozdzielacz, zwiększa się w jednostkach 10 pikseli, a nie domyślnych 1.

Aby zdefiniować zachowanie zmiany rozmiaru obiektu SplitContainer

  1. W procedurze ustaw SplitterIncrement właściwość na żądany rozmiar, tak aby zachowanie "przyciągania" podziału zostało osiągnięte.

    W poniższym przykładzie kodu w zdarzeniu formularza Load rozdzielacz w kontrolce SplitContainer jest ustawiany na przeskoczenie 10 pikseli po przeciągnięciu.

    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#) Umieść następujący kod w konstruktorze formularza, aby zarejestrować procedurę obsługi zdarzeń.

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

    Przesunięcie podziału lekko do lewej lub prawej nie będzie miało zauważalnego efektu; Jednak gdy wskaźnik myszy przechodzi 10 pikseli w obu kierunkach, rozdzielacz będzie przyciągać do nowej pozycji.

Zobacz też