程序中动态生成了若干个pictureBox,他们同为一个pictureBox[]的元素,并且他们的ContextMenuStrip指向同一个ContextMenuStrip实例,如何判断是哪个pictureBox元素打开的ContextMenuStrip呢?
解决方案 »
- C#下这种效果的注释应该怎么实现
- webform怎么被调用的??
- 用多线程模拟以下效果
- 对.net的程序集签名,大家都有什么高见啊
- public List<Dish> GetPopDish(int num)中的List<xxx>是什么意思?怎么来用?
- 如何这样实现绑定
- 请问各位:我用C#的ASP.net开发了一WEB程序,请问如何部署?在本机2000SERVER的IIS上建个虚拟目录后部署成功。但在别人的XP系统下部署不
- 有用过c#访问ldap的帮忙看一下,谢谢
- 关于数据库运行速度的小问题--急
- C#里编的程序怎么生成EXE文件。
- 缓存应该放在哪一层比较好一点?数据处理层?业务逻辑层?表现层?好像放在那一层都有道理,又好像放在那一层都不是很好。大家讨论!
- 请教gridview的设计思想
if (box !=null)
{
box.Text = "是我";
}又比如:
Form1 f=this.contextMenuStrip.SourceControl as Form1;
if (f!=null)
{
f.Text="是我";
}
Control c = contextMenuStrip1.SourceControl;
if (c.GetType().Name == "PictureBox")
{
MessageBox.Show(((PictureBox)c).Name);
}
to lxcnn:用你的代码了,MessageBox输出的是空的。我就是想得到那个打开ContextMenuStrip的PictureBox元素的数组序号就行。
private void b_GenPhoto_Click(object sender, EventArgs e)
{
PhotoSplitContainer.Panel2.Controls.Add(Photoes[counter]);
/*设置Photoes[counter]的属性*/
Photoes[counter].ContextMenuStrip = contextMenuStrip1;
counter++;
}
没什么特别的阿。
我想问楼上的,你那段代码应该放在哪里的?
{
ContextMenuStrip menu = (ContextMenuStrip)sender;
for (int i = 0; i< pictureBox.Count; i++)
{
if ((PictureBox)menu.SourceControl == pictureBox[i])
{
// 是pictureBox[i]
break;
} }
}
我想问楼上的,你那段代码应该放在哪里的?
-----------
这个问你自己啊,你想在哪个事件里判断,就放在哪个事件里
to lxcnn:谢谢啊,可能我没说清楚,呵呵。
结帖了~