nezabor
@nezabor
Решаю вопросы по мере их б@яя чеделать, че делать!

Как обновить форму из другого класса по событию?

что имею на данный момент

класс form1.cs
стартуем по клику
private void StartGetQuery_Click(object sender, EventArgs e)
        {
            var QB = new QueryBig();
            QB.StartLoaded();
        }
// обновляем форму
        public void LogShow(string LogString)
        {
            StatusStringPars.Text = String.Format(LogString);
        }

другой класс QueryBig.cs
public void getNewMesQuery()
        {
            Dictionary<string, Object> MesageArr = new Dictionary<string, Object>(1);
            
            string response = getSendDataServer(MesageArr, "http://api.spmail/get/query");
            var MaFrame = new Form1();
            MaFrame.LogShow("response");
        }
        private void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
        {
            this.getNewMesQuery();
        }
        // таймер
        private static System.Timers.Timer p_Timer;
        public void StartLoaded()
        {
            p_Timer = new System.Timers.Timer(1000);
            p_Timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            p_Timer.Enabled = true;
        }

StatusStringPars.Text = String.Format(LogString); - ничего не происходит((((
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@baimkin
Попробуй так:
StatusStringPars.BeginInvoke(new Action(() => { StatusStringPars.Text = String.Format(LogString); }));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы