2013-08-01 44 views
0

我在Visual Studio 2008 C++中有一个问题,用于在TextBox上创建一个Click事件。我有一个TextBox的数组,我需要在Click事件上添加它们。我尝试了这种方式:点击的我在创建C++中的Click事件时遇到了一些问题

功能:

private: System::Void ButtonClickHandler(System::Object^ sender, System::EventArgs^ e) 
{ 
    //something 

} 

代码创建的单击事件:在本作

this->text_edit[i]->Click +=gcnew System::EventHandler(this, &New::ButtonClickHandler); 

的代码是:

for(i=0; i < howMany; i++) 
{ 
    this->text_edit[i]=(gcnew System::Windows::Forms::TextBox()); 
    this->text_edit[i]->AutoSize = true; 
    this->text_edit[i]->Location = System::Drawing::Point(where_X_Edit, where_Y_Edit); 
    this->text_edit[i]->Name = interf[i]; 
    this->text_edit[i]->Size = System::Drawing::Size(90, 30); 
    this->text_edit[i]->TabIndex = 0; 
    this->text_edit[i]->Text = interf[i]; 
    this->text_edit[i]->Enabled=false; 

    this->text_edit[i]->Click +=gcnew System::EventHandler(this, &New::ButtonClickHandler); 

    panel->Controls->Add(this->text_edit[i]); 
    where_Y_Edit += 32; 
} 

的问题在于创建点击事件,仅在该行代码处出现了9个错误。如果有人知道这是可能要创建文本框Click事件,将有与其他参数的System::Object^ sender, System::EventArgs^ e,像这样的功能 :

Error 2 error C2653: 'New' : is not a class or namespace name c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 3 error C2276: '&' : illegal operation on bound member function expression c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 4 error C3350: 'System::EventHandler' : a delegate constructor expects 2 argument(s) c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 13 error C2653: 'New' : is not a class or namespace name c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 14 error C2276: '&' : illegal operation on bound member function expression c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 15 error C3350: 'System::EventHandler' : a delegate constructor expects 2 argument(s) c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 17 error C2653: 'New' : is not a class or namespace name c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 18 error C2276: '&' : illegal operation on bound member function expression c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 
Error 19 error C3350: 'System::EventHandler' : a delegate constructor expects 2 argument(s) c:\users\uidw7119\documents\visual studio 2008\projects\datalogger\datalogger\DataView_Form.h 502 

的谢胜利,问题是比第一个更重要的void ClickBtn(int value, String^something)

+0

它说,'New'不存在。 “新”存在吗? –

+0

你有'New'定义的地方吗?也许你没有包含必要的标题? – baderman

+0

我使用与生成的代码中使用的代码相同的代码创建文本框时,我不知道是什么新内容,但是在生成的代码中未定义。 – AnDr3yy

回答

0

我设法解决这个问题。

创建Click事件正确的代码是:

this->text_edit[i]->Click += gcnew System::EventHandler(this, &DataView_Form::TextBoxClick);

而且TextBoxClick是从问题的功能ButtonClickHandler

DataView_Form是我的表格:

public ref class DataView_Form : public System::Windows::Forms::Form { //code here };

相关问题