Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 4
1

Как обратиться к динамически созданной метке из другого метода

21.02.2012, 16:27. Показов 1618. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сильно не пинайте - только начал изучать c#)

Динамически создаю Label

C#
1
2
3
4
5
6
7
        private void Form1_Load(object sender, EventArgs e)
        {
            Label lbl = new Label();
            lbl.Name = "label1";
            lbl.Text = "Текст";
            this.Controls.Add(lbl);
        }
Как мне обратиться к нему из другого метода - например по клику на батоне поменять text в динамически созданном label1 (в делфях был FindComponent)

C#
1
2
3
4
        private void button1_Click(object sender, EventArgs e)
        {
            ?????
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2012, 16:27
Ответы с готовыми решениями:

Как обратиться к динамически созданной кнопке?
Доброго времени суток. Билась уже несколько дней над задачей, надеюсь на помощь в её решении....

Как обратиться к методу класса из формы и вывести в ней же (например на метке) результат действий этого метода
Помогите разобраться в этом элементарном вопросе! Какая то затыка не дает получить нужный результат...

Как обратиться к объекту из другого метода
Есть две кнопки. Одна для создания контейнера, а другая для удаления этого контейнера. Когда создаю...

Как обратиться к переменной из другого метода
день добрый, у меня есть класс, в котором два метода: (делал, как в книжке) public void...

8
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
21.02.2012, 16:33 2
Вроде как то так можно:

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Label lbl = new Label();
            lbl.Name = "label1";
            lbl.Text = "Текст";
            this.Controls.Add(lbl);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (Control a in Controls)
            {
                if ((a is Label) && a.Name=="label1")
                {
                    a.Text = "Текст2";
                }
            }
        }
    }
}
1
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
21.02.2012, 16:39 3
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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication38
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public Label Label
        { get; set; }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Label = new Label {
                Text = "Текст1",
                Left = 10,
                Top = 10
            };
            this.Controls.Add(this.Label);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            this.Label.Text = "Текст2";
        }
    }
}
2
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
21.02.2012, 16:40 4
А не легче вынисти объявление переменной в описание класса
C#
1
2
3
4
public partial class Form1 : Form
    {
        Label lbl = new Label();
        [...]
2
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
21.02.2012, 17:40 5
Цитата Сообщение от NowMatrix Посмотреть сообщение
Вроде как то так можно:
...
Вы чего?Что курили?=)
Можно намного проще
C#
1
Controls["label1"].Text="some text";
Ну,а если не нравятся индексаторы можно сделать переменную lbl глобальной,т.е как сказал Ice_and_Fire
вынести объявление переменной в описание класса...))
а потом обращаться просто
C#
1
lbl.Text="...";
2
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
21.02.2012, 20:25 6
sniper_lunev, я конечно согласен,что предложил не лучший вариант,но за то рабочий. Но ваш конечно мне больше понравился,просто не знал..
C#
1
Controls["label1"].Text="some text";
1
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
21.02.2012, 23:13 7
Цитата Сообщение от NowMatrix Посмотреть сообщение
sniper_lunev, я конечно согласен,что предложил не лучший вариант,но за то рабочий. Но ваш конечно мне больше понравился,просто не знал..
C#
1
Controls["label1"].Text="some text";

Не по теме:

Так я же шутя)Согласитесь,неудобно же каждый раз так обращаться к переменной=)

1
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
21.02.2012, 23:17 8
Цитата Сообщение от sniper_lunev Посмотреть сообщение
Так я же шутя)Согласитесь,неудобно же каждый раз так обращаться к переменной=)
Полностью согласен с вами).Извиняюсь за оффтоп,но как добавить сообщение "Не по теме",чтобы не противоречить вопросам темы?
1
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
22.02.2012, 18:17 9
Цитата Сообщение от NowMatrix Посмотреть сообщение
Полностью согласен с вами).Извиняюсь за оффтоп,но как добавить сообщение "Не по теме",чтобы не противоречить вопросам темы?

Не по теме:

в редакторе сообщений есть кнопка OFF

1
22.02.2012, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2012, 18:17
Помогаю со студенческими работами здесь

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

Как обратиться к datatable из другого метода?
Уважаемые коллеги! Может где-то глупый вопрос. Проблема следующая. По одной кнопке получаю...

Как обратиться к массиву из другого метода?
Нужно обратиться к элементу массива из другого метода, я вроде указал в main'е mass() , но вот...

Как можно обратиться к var из другого метода?
Подскажите как можно обратиться к var из другого метода


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

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