gpt4 book ai didi

c# - 检测右键单击表单上的每个图片框

转载 作者:行者123 更新时间:2023-11-30 23:29:20 25 4
gpt4 key购买 nike

我想检测对表单中任何 PictureBox 的右键单击。我已经为一个PictureBox设置了右键功能。这很好,但我想要一个事件,它会在表单上的所有右键单击 PictureBoxes 时触发。

此右键单击甚至需要知道 PictureBox 名称,因为某些 PictureBoxes 的上下文菜单会有所不同。

这是我为一个 PictureBox 的右键单击事件编写的代码。

private void DesktopIcon1Icon_MouseClick(object sender, MouseEventArgs e)
{
switch (e.Button)
{
case MouseButtons.Right:
{
DesktopIconRightclick.Show(this, new Point(e.X, e.Y));
}
break;
}
}

如果右键单击任何 PictureBox,我需要调整此代码以触发。

示例更新

if (pic = DesktopIcon2)
{
openToolStripMenuItem.visible = false;
}

最佳答案

您可以使用一个事件,该事件会在 PictureBoxes 上的所有右键单击都触发,如下所示:

public Form1()
{
InitializeComponent();
pictureBox1.MouseClick += pictureBox_MouseClick;
pictureBox2.MouseClick += pictureBox_MouseClick;
}

然后您可以使用Sender 来查找PictureBoxName,如下所示:

private void pictureBox_MouseClick(object sender, MouseEventArgs e)
{
var pic = (sender as PictureBox).Name;//pic is the Name of the PictureBox that is clicked
switch (e.Button)
{
case MouseButtons.Right:
{
MessageBox.Show(pic);//Just for example
DesktopIconRightclick.Show(this, new Point(e.X, e.Y));
}
break;
}
}

关于c# - 检测右键单击表单上的每个图片框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35528548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com