- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想将一个参数传递给我试图用这段代码实现的事件处理程序:
private void openInputImagesToolStripMenuItem_Click(object sender, EventArgs e)
{
...
pb.MouseDoubleClick += new MouseEventHandler((sender,e) => showLargeImage(sender,e,imageIndex));
}
private void showLargeImage(object sender, MouseEventArgs e, int imageIndex)
{
...
}
但是,我在适配器内的“sender”和“e”变量上收到错误消息:
A local variable named 'sender' cannot be declared in this scope because it would give a different meaning to 'sender', which is already used in a 'parent or current' scope to denote something else.
A local variable named 'e' cannot be declared in this scope because it would give a different meaning to 'sender', which is already used in a 'parent or current' scope to denote something else.
我该如何解决这个问题?
最佳答案
您不能将 lambda 方法的参数命名为 sender
和 e
,正如编译器告诉您的那样。
这会在 openInputImagesToolStripMenuItem_Click
方法的参数 sender
和 lambda 方法的参数之间产生歧义。
就用别的名字吧,比如
pb.MouseDoubleClick += new MouseEventHandler((s, e1) => showLargeImage(s, e1,imageIndex));
关于c# - MouseEventHandler 附加参数 - 无法定义 "sender"和 "e",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19511401/
动态创建按钮时,我希望有一个新的 MouseEventHandler。我是这样做的, this.Controls[btnAdd.Name].MouseClick += new MouseEventHa
我想将一个参数传递给我试图用这段代码实现的事件处理程序: private void openInputImagesToolStripMenuItem_Click(object sender,
在我的程序中,可以使用之前定义的文本绘制 LinkLabel。当 LinkLabel 可见时,我想在双击 LinkLabel 时打开一个新表单 这是我到目前为止的代码: private Graphic
我在尝试将 EventHandler 转换为 MouseEventHandler 时遇到了一些问题。 System::EventHandler^ method = gcnew System::Even
当我使用 resharper 时,他总是说 有什么区别? 任何细节都会很好 谢谢大家。 最佳答案 较短的语法已在 C# 2.0 中引入,它只是较长形式的语法糖。 无论你写什么,结果总是一样的。但是,更
我是一名优秀的程序员,十分优秀!