Определить панель выбора SplitContainer - PullRequest
0 голосов
/ 28 июня 2018

У меня есть форма Windows с именем Form1, а внутри у меня есть динамическая SplitContainer с именем splitcontainer.

Я хочу знать, какая панель выбирается при щелчке мыши во время выполнения.
Я пытался использовать событие mouseclick в свойствах splitContainer, но мне это не удалось.

1 Ответ

0 голосов
/ 28 июня 2018

Вам необходимо привязать события MouseClick панели внутри разделенного контейнера.

Я добавил контейнер с именем "splitContainer1" с 2 панелями, Panel1 и 2

Я подключил нижеприведенные события, и похоже, что он работает

        private void splitContainer1_Panel1_MouseClick(object sender, MouseEventArgs e)
        {
            MessageBox.Show("Panel1");
        }

        private void splitContainer1_Panel2_MouseClick(object sender, MouseEventArgs e)
        {
            MessageBox.Show("Panel2");
        }

После ваших дальнейших комментариев я отредактировал нижеприведенное, чтобы показать, как вручную связывать события щелчка мыши на 2 панелях вашего динамически добавляемого контейнера.

private void splitContainerHorizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SplitContainer spltcnt = new SplitContainer();
            spltcnt.Dock = DockStyle.Left;
            spltcnt.Orientation = Orientation.Horizontal;
            spltcnt.SplitterWidth = 4;
            spltcnt.Visible = true;
            spltcnt.Size = new System.Drawing.Size(731, 615);
            spltcnt.BorderStyle = BorderStyle.Fixed3D;
            spltcnt.SplitterDistance = 351;

            //Manually bind the mouse click events.
            spltcnt.Panel1.MouseClick += Panel1OnMouseClick;
            spltcnt.Panel2.MouseClick += Panel2OnMouseClick;

            Controls.Add(spltcnt);
        }

        private void Panel1OnMouseClick(object sender, MouseEventArgs mouseEventArgs)
        {
            MessageBox.Show("Panel1");
        }

        private void Panel2OnMouseClick(object sender, MouseEventArgs mouseEventArgs)
        {
            MessageBox.Show("Panel2");
        }

Конечно, вы можете вызывать методы обработчика щелчков мыши как угодно.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...