Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
1

Как обратится к форме из обработчика события?

19.03.2010, 09:40. Показов 2866. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть слушатель на завершение:
C#
1
2
WebClient user = new WebClient();
user.DownloadFileCompleted += new AsyncCompletedEventHandler(webClient_DownloadFileCompleted);
но оказалось что в функции обработчика событий:
C#
1
private void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs exc)
не видна форма - как обратиться к Label размещенному на форме?
и к методам (функциям) из этого класса?

в Action Script можно обратиться к объекту слушателя и потом к его родителю - форме! как это реализуеться на C#
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2010, 09:40
Ответы с готовыми решениями:

Создание обработчика события нажатия кнопки мыши на форме
Здравствуйте. Подскажите, пожалуйста, как можно решить задачу: "Разместите на форме ряд...

Как восстановить работу обработчика события?
Здоров всем! Иногда обработчик события (кнопка, таймер) по неизвестной мне причине перестает...

Как обратится к полю на форме?
Доброго времени суток к примеру есть ТБД table_own у ней есть поля

Как обратится к форме робокассы?
Здравствуйте! Делаю сайт http://stroka.5ria.ru/, нужно сделать подстановку в поле цены...

16
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2010, 10:00 2
На форму кинул комбобокси получилось ...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            WebClient web = new WebClient();
            web.DownloadFileCompleted += new AsyncCompletedEventHandler(webClient_DownloadFileCompleted);
            
        }
 
 
 
        private void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs exc)
        {
            this.comboBox1.Text = "Hello";
        }
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
19.03.2010, 10:14  [ТС] 3
у меня по таймеру идет чтение данных с тхт файла по инет урл!

Вижу что когда вызов не с формы а с бокса - то можно обратиться к этому боксу! но меня интересует форма и ее методы и переменные
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2010, 10:27 4
Цитата Сообщение от _Stanley Посмотреть сообщение
у меня по таймеру идет чтение данных с тхт файла по инет урл!

Вижу что когда вызов не с формы а с бокса - то можно обратиться к этому боксу! но меня интересует форма и ее методы и переменные
Объясните! Код в студию!
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
19.03.2010, 12:27  [ТС] 5
Цитата Сообщение от MAcK Посмотреть сообщение
Объясните! Код в студию!
в теме Чтение данных с инет URL (ошибки соединения)
пришел к мнению что нужно реализовывать через обработчик!

Вот и интересует как обратиться? код данного вопроса тут в первом посте!

Добавлено через 3 минуты
и в теме Чтение данных с инет URL (ошибки соединения)
не было принято верного и однозначного решения! темы разные! зачем закрывать?!
0
92 / 79 / 9
Регистрация: 10.03.2010
Сообщений: 172
19.03.2010, 12:29 6
Выложи полный код, а не частями. Код MAcK работает.
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2010, 13:13 7
Цитата Сообщение от _Stanley Посмотреть сообщение
и в теме Чтение данных с инет URL (ошибки соединения)
не было принято верного и однозначного решения! темы разные! зачем закрывать?!

Не по теме:

Потому что тема пошла по другому вопросу ...



Не важно как Вы создаёте контрол, руками или через студию кидаете на форму, this <- это форма.
0
92 / 79 / 9
Регистрация: 10.03.2010
Сообщений: 172
19.03.2010, 13:19 8
Цитата Сообщение от MAcK Посмотреть сообщение

Не по теме:

Потому что тема пошла по другому вопросу ...



Не важно как Вы создаёте контрол, руками или через студию кидаете на форму, this <- это форма.
Позвольте с вами не согласиться. Может он создает в классе?
И this форма только для функций этой формы
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2010, 13:21 9
Тогда это класс. Мы сейчас говорим про КЛАСС формы<Form1>, а не самописного класса.
0
92 / 79 / 9
Регистрация: 10.03.2010
Сообщений: 172
19.03.2010, 13:22 10
Цитата Сообщение от MAcK Посмотреть сообщение
Тогда это класс. Мы сейчас говорим про КЛАСС формы<Form1>, а не самописного класса.
Из повествования автора не понятно класс ли это Form1. Судя по тому, что твой код не работает велика вероятность самописного класса
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
21.03.2010, 14:00  [ТС] 11
это основной класс и основной код для формы
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
23.03.2010, 11:49  [ТС] 12
так как обратиться?
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
23.03.2010, 11:51 13
Кидайте свой проект
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
24.03.2010, 23:02  [ТС] 14
урезал - оставил нужное. Это основной класс к основной форме - на которой расположеные текстовые поля!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Reflection;
using System.Net;
using System.Net.NetworkInformation;
using System.IO;
using System.Media;
using System.Xml;
 
namespace IsengardRealm
{
    public partial class MainForm : Form
    {
        Timer Timer1 = new Timer();
 
        string data;
        string read;
 
        WebClient user = new WebClient(); 
       
        public MainForm()
        {
           InitializeComponent();
 
           user.DownloadFileCompleted += new AsyncCompletedEventHandler(webClient_DownloadFileCompleted);
 
            // Настраиваем объект Timer
            Timer1.Interval = 1000;
            Timer1.Enabled = true; 
            Timer1.Tick += new EventHandler(TimerTick);
        }       
 
        // Этот метод будет вызываться каждый тик
        private void TimerTick(object sender, EventArgs e)
        {
            RefreshStatus();
        }
 
        private void RefreshStatus()
        {
            try { data = Encoding.UTF8.GetString(user.DownloadData("http://www.isengard.su/tirion.txt")); }
            catch (Exception exc) { }
        }
 
        private void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs exc)
        {
            if (exc.Error == null) read = data; // Записываем данные которые считались
        }      
    }
}
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
25.03.2010, 09:54 15
C#
1
2
3
4
5
6
7
8
9
10
        private void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs exc)
        {
            if (exc.Error == null) read = data; // Записываем данные которые считались
            this.MyLabel.Text = "MyLabel visible";
            MyFunctionCall(<MyParameter>);
 
        }  
        private void MyFunction();
{
}
0
0 / 0 / 0
Регистрация: 15.03.2010
Сообщений: 16
25.03.2010, 13:34  [ТС] 16
в том то и проблема что this не работает, и соответственно не обратиться не к переменным ни к методам!
0
1 / 1 / 0
Регистрация: 27.03.2010
Сообщений: 11
27.03.2010, 22:32 17
C#
1
2
ListBox listbox= (ListBox)Application.OpenForms[1].Controls["listbox1"];
listbox.Items.Add("dsdfgds");

делаешь экземпляр, самое главное в квадратных скобках правильно написать название того к чему тебе надо сослаться, также в опен формс идёт счёт с 0... так что если у тебя например 3 форма, то вместо 3 надо 2 написать.
1
27.03.2010, 22:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2010, 22:32
Помогаю со студенческими работами здесь

Как послеать потоку данные из обработчика события?
Собственно сабж.. Есть массив потоков, которые запускаются в цыкле. Далее эти потоки создают...

С#.Net Как обратится к неактивной форме
В проекте есть 2 формы, допустим Form1 и Form2. По нажатии кнопки из Form1 запускается Form2. Нужно...

Как обратится к нижнему подчеркиванию в форме
Мне надо изменить цвет и ширину нижнего подчеркивание в формах но не знаю как к нему обратится. ...

Создание объекта-события и обработчика события
Допустим у меня есть следующий класс: public class Example { private boolean bool; public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru