检测对窗体上每个图片框的右键单击我已经为PictureBox设置了右键单击功能。这很好,但我想要一个事件来触发对窗体上PictureBoxes的所有正确点击。这个右键甚至需要知道PictureBox的名称,因为有些PictureBox的上下文菜单会不一样。这是我为PictureBox的右键单击事件编写的代码。privatevoidDesktopIcon1Icon_MouseClick(objectsender,MouseEventArgse){switch(e.Button){caseMouseButtons.Right:{DesktopIconRightclick.Show(this,newPoint(eX,eY));}}休息;如果右键单击任何PictureBox,我需要调整此代码。示例更新if(pic=DesktopIcon2){openToolStripMenuItem.visible=false;您可以使用事件来触发对PictureBoxes的所有右键单击,如下所示:publicForm1(){InitializeComponent();pictureBox1.MouseClick+=pictureBox_MouseClick;pictureBox2.MouseClick+=pictureBox_MouseClick;}然后你可以使用Sender找到PictureBox的名称,像这样:privatevoidpictureBox_MouseClick(objectsender,MouseEventArgse){varpic=(senderasPictureBox).Name;//pic是被点击的PictureBox的名称switch(e.Button){caseMouseButtons.Right:{MessageBox.Show(pic);//举个例子DesktopIconRightclick.Show(this,newPoint(eX,eY));}休息;您可以尝试使用反射来查找所有PictureBox实例。查看GetTypes作为起点。查看此SO以获取实现示例:UsereflectiontogetallclassesofsomebasetypeinadllAboveistheC#LearningTutorial:DetectrightclickoneveryPictureBoxonaform如果对大家有用和需要,请分享完整内容学习更多关于C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
