gpt4 book ai didi

c# - 如何确定哪个控件激活了上下文菜单?

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:29 26 4
gpt4 key购买 nike

在 C# winforms 应用程序中,我已将相同的上下文菜单分配给四个 PictureBox 控件。

我想确定哪个用于激活上下文菜单。

我在给定菜单项的 Click 事件中执行了以下操作,这看起来很尴尬:

MenuItem_Click(object sender, EventArgs e)
{
PictureBox Origin = (PictureBox)sender;
switch (Origin.Name)
{
case "pbOne":
// do something with #1
break;
case "pbTwo":
// do something with #2
break;
}
}

使用控件名称是让人感觉尴尬的部分。

你能推荐一个更好的方法吗?

编辑:

sender 转换为 PictureBox 不起作用,因为我忘记了菜单项是发送者,而不是 PictureBox。所以我将不得不进一步回溯。

最佳答案

只需使用 SourceControl属性:

var pictureBox = contextMenuStrip1.SourceControl as PictureBox;

关于c# - 如何确定哪个控件激活了上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4960916/

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