private: System::Void button2_Click_2(System::Object^ sender, System::EventArgs^ e)
{
...
watcher->Deleted += gcnew FileSystemEventHandler(watcher_Changed); //обращаемся к функции watcher_Changed
watcher->EnableRaisingEvents = true;
...
}
//вот эта функция
static void watcher_Changed(Object^ sender, FileSystemEventArgs^ e)
{
...
textBox1->Text = "Hello"; //хотим вывести "Hello"в listBox1
...
}
Проблема обращения к компоненту из функции
Ну в общем сделал, что при нажатии на кнопку идёт обращение к статической функции, или просто к функции, ну там что-то выполняет и должна ответ вывести в listBox. Токо вот проблема в функции watcher_Changed компонента textBox1 просто не видно. Как и где объявить что бы было видно компонент из функции и можно было к нему обращаться???? :confused:
Если у тебя студия 2005, то зайди в дизайнер(к пр. файл Form1.Disigner.cs) и поства public у textBox1:)
(подробней о замене смотри ниже;))
Если студия 2002, то в файле Form1.cs найди строчку:
private System.Windows.Forms.TextBox textBox1;;)
измени на:
public System.Windows.Forms.TextBox textBox1;;)
CilCatblack, фигню, однако, посоветовали.
Хорошее объяснение различиям и деталям работы статических и экземплярных методов дает Джефри Рихтер в своей книге CLR via C#. Впрочем в любом букваре по реализации ООП в Delphi, С++ и т.д...