Windows.Forms SplitContainer.SplitterWidth не будет оставаться установленным во время выполнения - PullRequest
5 голосов
/ 11 января 2012

Я пытаюсь вставить маленькое крутое маленькое изображение, подобное этому

one of these guys

для моей кнопки перетаскивания контейнера.

private void splitContainer1_Paint(object sender, PaintEventArgs e)
    {
        var control = sender as SplitContainer;            

        e.Graphics.DrawImage("...".Properties.Resources.divider, control.SplitterRectangle, 0, 0, 1040, 50, GraphicsUnit.Pixel);

    } 

Он рисует изображение так, как мне хотелось бы, проблема в том, что высота ВСЕГДА 4 пикселя.В конструкторе я установил SplitterWidth равным 15, но во время выполнения он всегда остается равным 4. Таким образом, на самом деле отображаются только 4 пикселя.

1 Ответ

9 голосов
/ 12 января 2012

Да, согласно вашему комментарию, наличие SplitterPanel внутри TableLayoutPanel заставляет среду выполнения забывать настройку SplitterWidth, поэтому я действительно продублировал проблему.TableLayoutPanels странные существа.

К сожалению, очевидный обходной путь:

public Form1() {
  InitializeComponent();
  splitContainer1.SplitterWidth = 15;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...