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