gpt4 book ai didi

C# 更改方法的 EventArgs

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

我正在开发 Windows 窗体应用程序,我想将类型为 MouseEventArgs 的参数传递给 Picturebox 上的 MouseClick 事件EventArgs,但当我这样做时,调试器会为委托(delegate)报错。

void PictureBox1Click(object sender, MouseEventArgs e)
{
// Some code
}

///////
// imageBox
//
this.imageBox.Location = new System.Drawing.Point(12, 12);
this.imageBox.Name = "imageBox";
this.imageBox.Size = new System.Drawing.Size(1758, 829);
this.imageBox.TabIndex = 0;
this.imageBox.TabStop = false;
this.imageBox.Click += new System.EventHandler(this.PictureBox1Click);
//

提前致谢, jack 布

最佳答案

当鼠标单击引发单击事件时,如果您处理 Click 事件,则 e 的运行时类型为 MouseEventArgs 正如 Jimi 在评论中已经提到的那样。

但在某些控件中,例如 Button,您可以在没有实际鼠标单击的情况下引发 Click 事件,例如通过调用 button1.PerformClick() 或者当按钮是表单的 AcceptButton 并且您按下 Enter 时,或者如果您按下按钮的助记键组合或者当按钮具有焦点并且您按下空间。在这种情况下,e 的运行时类型是 EventArgs

如果您对鼠标点击感兴趣并且希望接收 e 作为 MouseEventArgs,那么您应该处理 MouseClick 事件。

例如:

picttureBox1.MouseClick += PicttureBox1_MouseClick;

然后:

private void PicttureBox1_MouseClick(object sender, MouseEventArgs e)
{

}

关于C# 更改方法的 EventArgs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57136497/

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