繁体   English   中英

mouse_right单击事件不适用于使用C#在Winform中的面板?

[英]mouse_right click event not working for a panel in winform using c#?

我试图触发Panel的鼠标右键单击事件并调用一个函数,但未触发。 这是我的代码:

private void viewscreen_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        generate_editpanel();
    }
}

“ viewscreen”是一个Panel 我的设计师代码是:

// viewscreen
// 
this.viewscreen.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.viewscreen.Location = new System.Drawing.Point(208, 16);
this.viewscreen.Name = "viewscreen";
this.viewscreen.Size = new System.Drawing.Size(370, 289);
this.viewscreen.TabIndex = 0;
this.viewscreen.MouseClick += 
    new System.Windows.Forms.MouseEventHandler(this.viewscreen_MouseClick);

谁能帮我?

面板中的视频对象必须覆盖面板的整个区域(对接)。 在这种情况下,不会触发面板事件,因为所有点击都会发生在视频对象上。
但是,如果您仍然希望触发面板事件,则可以修改表单设计器代码,如下所示:

this.pictureBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseClick);
this.pictureBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.viewscreen_MouseClick);  

在这里,我将PictureBox(pictureBox1)停靠在面板(视屏)中。 现在,您可以在表单代码中进行如下测试:

private void viewscreen_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right) 
        {
            MessageBox.Show(this, "Right Clicked on Panel");
        }            
    }
 private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
    {
        MessageBox.Show(this, "Picture Clicked");
        //this.viewscreen_MouseClick(sender, e);
    }

在此处粘贴与此this.viewscreen相关的完整代码....如果该面板上还有其他控件,则这些控件将不允许鼠标单击面板。 最重要的控制事件将触发

代替 ...

private void viewscreen_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        generate_editpanel();
    }
}

使用这个...

private void viewscreen_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            generate_editpanel();
        }
    }

为我工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM