1
在C#中,我可以做(*):如何将点击处理程序添加到C++/CLR中的WPF按钮?
Button b = new Button();
b.Click += ButtonOnClick;
:
void ButtonOnClick(object sender, RoutedEventArgs e)
{
// do something
}
但是在C++/CLI我不能做:
Button^b = gcnew Button();
b->Click += ButtonOnClick;
:
void ButtonOnClick(Object^sender, RoutedEventArgs^e)
{
// do something
}
我得到一个编译错误complaing有关+ = ButtonOnClick: 2>。\ blub.cpp(108):错误C3867:'MyListBoxItem :: ButtonOnClick':函数调用缺少参数列表;使用“& MyListBoxItem :: ButtonOnClick”创建一个指向成员
(尖端编译器给我不起作用,因为它不是一个静态方法。)
什么是相当于(* )在C++/CLI?
THX 马克
这给了我:错误C2275: '系统::事件处理程序':非法使用这种类型作为表达式。在MSDN中查找MAKE_DELEGATE会将我引向MFC库参考。 但我想,我必须创建一个(.net)委托 - 但我不知道如何。 – marc40000 2009-11-05 15:07:00
哦,虽然这也行不通,但它指出了我的正确方向。这是工作: b->点击+ = gcnew RoutedEventHandler(this,&ClassNameWhereTheButtonOnClickMethodIsIn :: ButtonOnClick); Thx :) - 我现在应该标记为答案? – marc40000 2009-11-06 11:57:53