首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么确定ContextMenuStrip是在哪个控件上打开的

2011-12-23 
如何确定ContextMenuStrip是在哪个控件上打开的?程序中动态生成了若干个pictureBox,他们同为一个pictureBo

如何确定ContextMenuStrip是在哪个控件上打开的?
程序中动态生成了若干个pictureBox,他们同为一个pictureBox[]的元素,并且他们的ContextMenuStrip指向同一个ContextMenuStrip实例,如何判断是哪个pictureBox元素打开的ContextMenuStrip呢?

[解决办法]
使用ContextMenuStrip.SourceControl 属性
[解决办法]
同楼上,就楼主的要求,可以这样


Control c = contextMenuStrip1.SourceControl;
if (c.GetType().Name == "PictureBox ")
{
MessageBox.Show(((PictureBox)c).Name);
}
[解决办法]
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
ContextMenuStrip menu = (ContextMenuStrip)sender;
for (int i = 0; i < pictureBox.Count; i++)
{
if ((PictureBox)menu.SourceControl == pictureBox[i])
{
// 是pictureBox[i]
break;
}

}


}

热点排行