我有一个名为Form1的Windows,里面有一个名为splitcontainer的动态SplitContainer。
我想知道在运行时单击鼠标时选择了哪个面板。
我试图在mouseclick属性中使用splitContainer事件,但没有成功。
发布于 2018-06-28 10:44:14
您需要绑定到拆分容器中面板的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");
}在您的进一步评论之后,我编辑了下面的内容,以演示如何手动绑定动态添加的容器的两个面板的鼠标单击事件。
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");
}当然,您可以任意调用鼠标单击处理程序方法。
谢谢
https://stackoverflow.com/questions/51080458
复制相似问题