Udostępnij za pośrednictwem


Jak: Zdefiniować zachowanie zmiany rozmiaru i pozycjonowania w oknie podziału

Panele kontrolne SplitContainer dobrze nadają się do zmiany rozmiaru i manipulacji 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ą precyzyjną kontrolę nad zachowaniem interfejsu użytkownika zgodnie z potrzebami. Te właściwości są wymienione w poniższej tabeli.

Nazwa Opis
właściwość IsSplitterFixed Określa, czy rozdzielacz jest ruchomy za pomocą klawiatury lub myszy.
właściwość SplitterDistance Określa odległość w pikselach od lewej lub górnej krawędzi do ruchomego paska podziału.
właściwość SplitterIncrement Określa minimalną odległość, w pikselach, którą użytkownik może przesunąć rozsuwacz.

Poniższy przykład modyfikuje właściwość SplitterIncrement, aby utworzyć efekt "przyciągającego rozdzielacza"; gdy użytkownik przeciąga rozdzielacz, przesuwa się on o 10 pikseli zamiast domyślnej wartości 1.

Aby zdefiniować zachowanie zmiany rozmiaru obiektu SplitContainer

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

    W poniższym przykładzie kodu, podczas zdarzenia Load formularza, konfiguracja rozdzielacza w kontrolce SplitContainer umożliwia przeskoczenie o 10 pikseli podczas przeciągania.

    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 dzielnika nieco w lewo lub prawo nie spowoduje zauważalnej zmiany; jednak gdy wskaźnik myszy przesunie się o 10 pikseli w którymkolwiek kierunku, dzielnik przeskoczy do nowej pozycji.

Zobacz też