gpt4 book ai didi

c# - 以编程方式调用 WinForms contextmenustrip

转载 作者:行者123 更新时间:2023-11-30 17:22:55 25 4
gpt4 key购买 nike

我在 c# windows 程序中以编程方式创建一个图片框。我为它分配了 Tag 属性的值。我想以编程方式打印出该标签号,仅用于测试目的。所以我试试这个:

private void Form1_Load(object sender, EventArgs e)
{
pic.ContextMenuStrip = contextMenuStrip1;
pic.ContextMenuStrip.Click += new EventHandler(this.MyPicHandler);
}

void MyPicHandler(object sender, EventArgs e)
{
PictureBox pic = sender as PictureBox;

MessageBox.Show(pic.Tag.ToString());
}

但是当我右键单击图片,然后单击菜单项时,出现异常。 “未处理 NullReferenceException”“未将对象引用设置为对象的实例。”。有人知道发生了什么事吗?

最佳答案

线

PictureBox pic = sender as PictureBox;

将 pic 设置为 null,因为这是 ContextMenuStrip 的事件处理程序,而不是 PictureBox 的事件处理程序。

sender 参数是对您添加事件处理程序的对象的引用 - 即 ContextMenuStrip

关于c# - 以编程方式调用 WinForms contextmenustrip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527804/

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