首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测SplitContainer的选择面板

检测SplitContainer的选择面板
EN

Stack Overflow用户
提问于 2018-06-28 10:23:46
回答 1查看 255关注 0票数 1

我有一个名为Form1的Windows,里面有一个名为splitcontainer的动态SplitContainer

我想知道在运行时单击鼠标时选择了哪个面板。

我试图在mouseclick属性中使用splitContainer事件,但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-28 10:44:14

您需要绑定到拆分容器中面板的MouseClick事件。

我添加了一个名为"splitContainer1“的容器,其中包含2个面板,Panel1和2个

我把下面的事件连接起来,似乎很有效。

代码语言:javascript
复制
        private void splitContainer1_Panel1_MouseClick(object sender, MouseEventArgs e)
        {
            MessageBox.Show("Panel1");
        }

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

在您的进一步评论之后,我编辑了下面的内容,以演示如何手动绑定动态添加的容器的两个面板的鼠标单击事件。

代码语言:javascript
复制
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");
        }

当然,您可以任意调用鼠标单击处理程序方法。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51080458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档