【发布时间】:2015-04-26 03:30:01
【问题描述】:
在我的程序中,可以使用之前定义的文本绘制 LinkLabel。当 LinkLabel 可见时,我想在双击 LinkLabel 时打开一个新表单
这是我目前的代码:
private Graphics g;
private int punt1 = 0;
private int punt2 = 0;
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
g = this.CreateGraphics();
if (e.X > 20 && e.Y > 100)
{
...
if (rbTekst.Checked && MousePosition.X > 1000)
{
string naam = tbUseCaseName.Text;
LinkLabel lb = new LinkLabel();
UseCase uc = new UseCase();
lb.MouseDoubleClick += uc.Show();
lb.Location = e.Location;
lb.Text = naam;
this.Controls.Add(lb);
}
除了 DoubleClick 事件之外,一切都很好。我收到以下错误消息:
无法将类型“void”隐式转换为 'System.Windows.Forms.MouseEventHandler'
是否因为 Form1_MouseUp 有 MouseEventsArgs 而发生此错误?
提前致谢!
【问题讨论】:
-
尝试删除
show-lb.MouseDoubleClick += uc.Show;上的括号 -
这可能就足够了——很难说。
UseCase.Show的签名是什么? -
@petelids 不:“显示”匹配委托没有过载
-
@JonSkeet 需要一个带有 'void Show(object, MouseEventsArgs)' 签名的方法
-
我在问
UseCase中的Show方法是什么样的 - 你还没有向我们展示。
标签: c# mouseevent double-click