Вызов метода из делегата.
Мне нужно вызвать метод из делегата, который также может получить доступ к некоторым элементам управления пользовательского интерфейса. Проблема возникла во время сбора данных, делегат вызывается всякий раз, когда буфер памяти заполнен, затем мне нужно обновить некоторые значения на дисплее и записать данные.
Что я уже пробовал:
public delegate void CallbackDelegate(); static CallbackDelegate myDelegate; static int count = 0; static private void CallBack_DBEvent() { count++; Display(); // getting error //An object reference is required for the non-static field, method, or property 'WindowsFormsApplication1.Form1.Display()' } public void Display() { textBox1.Text = count.ToString(); } public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { myDelegate = new CallbackDelegate(CallBack_DBEvent); CallBack_DBEvent(); }
Richard MacCutchan
И что же? Что происходит, когда вы это делаете?
Nathan Minier
Продолжайте вопрос Ричарда: это работает на другом потоке?
Rao Tahir
Я обновил код, то есть краткое изложение того, что я делаю в реальной программе. CallBack_DBEvent() на самом деле вызывается извне, означает "эта функция вызывается , когда память заполнена", а затем мне нужно выполнить какую-то операцию, например обновить количество полученных образцов.