Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/32: Рейтинг темы: голосов - 32, средняя оценка - 5.00
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420

Динамическое создание элементов интерфейса

03.01.2012, 00:33. Показов 6362. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С Новым Годом, друзья. В общем, печалька у меня: создаю элементы, а в обработчиках события не знаю как их обработать.
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
59
60
61
62
public void paybutton_Click(object sender, EventArgs e)
        {
            busylabel.ForeColor = Color.Red;
            busylabel.Text = "Осталось времени:";
            timer.Start();
        }
        private void timer_Tick(object sender, EventArgs e)
        {
            int min = (--t1) / 60;
            int sec = (t1) % 60;
            timelabel.Text = Convert.ToString(min + ":" + sec);
            if (t1 < 0)
                paybutton_Click(sender, e);
        }
        private void unpaybutton_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            int n = 10;
            Panel[] panel = new Panel[n];
            Button[] paybutton = new Button[n];
            Button[] unpaybutton = new Button[n];
            Label[] buzylabel = new Label[n];
            Label[] timerlabel = new Label[n];;
            Timer[] timer = new Timer[n];
 
            for (int i = 0; i < n; i++)
            {
                panel[i] = new Panel();
                panel[i].Width = 175;                panel[i].Height = 75;
                panel[i].Location = new Point(5 + 5 * i + 175 * i, 5);
                panel1.Controls.Add(panel[i]);
 
                buzylabel[i] = new Label();
                buzylabel[i].Location = new Point(5, 5);
                buzylabel[i].Text = Convert.ToString(i + 1) + " , свободен";
                panel[i].Controls.Add(buzylabel[i]);
 
                timerlabel[i] = new Label();
                timerlabel[i].Location = new Point(135, 5);
                timerlabel[i].Text = "00:00";
                panel[i].Controls.Add(timerlabel[i]);
 
                unpaybutton[i] = new Button();
                unpaybutton[i].Location = new Point(95, 22);
                unpaybutton[i].Text = "Обнулить";
                unpaybutton[i].Click += new EventHandler(unpaybutton_Click);
                panel[i].Controls.Add(unpaybutton[i]);
 
                paybutton[i] = new Button();
                paybutton[i].Location = new Point(95, 48);
                paybutton[i].Text = "Оплатить";
                paybutton[i].Click += new EventHandler(paybutton_Click);
                panel[i].Controls.Add(paybutton[i]);
 
                timer[i] = new Timer();
                timer[i].Interval = 1000;
                timer[i].Tick += new EventHandler(timer_Tick);
 
            }
не видит он buzylabel и timer... и buzylabel[i] и timer[i] тоже...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2012, 00:33
Ответы с готовыми решениями:

Динамическое создание элементов интерфейса
Только недавно начал изучать сишарп. Необходимо создать кнопку, которая создает лабел, при нажатии на который он должен исчезнуть написал...

Динамическое создание элементов интерфейса вынесено в отдельный класс. Доступ к Controls главной формы
Из Ответы на 7 самых частых вопроса по WinForms Пример динамического создания кнопки: System.Windows.Forms.Button button1 = new...

Создание элементов интерфейса по данным из БД
Здравствуйте. Вопрос в следующем: есть приложение, есть база данных, условно в базе данных в нужной таблице у нас 10 записей, нужно чтобы в...

20
гроза ленивых студентов
 Аватар для znake
456 / 411 / 51
Регистрация: 27.03.2011
Сообщений: 823
03.01.2012, 01:55
про области видимости что-нибудь слышал?
у тебя оба массива объявлены в Form1_Load, а достучаться ты к ним пытаешься совершенно из других мест...
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
03.01.2012, 06:10
C#
1
2
3
4
5
6
            Panel[] panel = new Panel;
* * * * * * Button[] paybutton = new Button;
* * * * * * Button[] unpaybutton = new Button;
* * * * * * Label[] buzylabel = new Label;
* * * * * * Label[] timerlabel = new Label;
* * * * * * Timer[] timer = new Timer;
//Вот эти объявления вынеси вне тела событий, объяви в главном классе, а в событиях их используй
0
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
05.01.2012, 21:39  [ТС]
Спасибо большое,но я теперь не знаю как обращаться к элементам в обработчиках. Таймер. Стоп() и таймер[и].Стоп() не работают
0
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
07.01.2012, 01:29  [ТС]
Это важно,курсач ведь

Добавлено через 32 секунды
Это важно,курсач ведь,а у меня интернета нет
0
56 / 56 / 10
Регистрация: 27.12.2011
Сообщений: 141
07.01.2012, 04:35
C#
1
2
3
4
 timer[i].Tick += new EventHandler(timer_Tick); - тут ты создал
 //чтобы остановить
 timer[i].Stop();
 timer[i].Tick -= new EventHandler(timer_Tick);
0
16 / 16 / 9
Регистрация: 07.10.2011
Сообщений: 77
Записей в блоге: 1
07.01.2012, 04:48
Если пользуешься Visual Studio. Она сама всегда предлагает создать эти события, путём нажатия на клавишу tab.
Набираешь:
C#
1
timer[i].Tick
снизу появляется tooltip, который предлагает вставить именно тот тип обработчика событий, который нужен.
0
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
15.01.2012, 02:23  [ТС]
Нет, вы не так поняли! Вот у меня 10 панелек, как сделать так, чтобы и при нажатии кнопки 1, на которой 5 минут, и при нажатии кнопки 2, на которой 10 вызывался один метод, вы можете мне написать? Чтобы он умел параллельно работать с этими панелями, сколько бы из ни было.
Миниатюры
Динамическое создание элементов интерфейса  
0
2 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 4
15.01.2012, 16:35
добавить button.name, а в обработчике событий использовать нечто вроде
C#
1
2
3
4
5
6
7
8
9
Button btn;
if (sender is Button)
{
btn = sender as Button;
if (btn.Name == "b1")
{
....
}
}
0
c#
 Аватар для temich-92
95 / 95 / 27
Регистрация: 25.03.2011
Сообщений: 290
15.01.2012, 17:52
нечто подобное здесь
1
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
15.01.2012, 19:56  [ТС]
TrueSupport, уф... я не понимаю... вы можете попробовать загрузить код в студию и довести до ума, чтобы каждая панель работала?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
        static int n =10;
        Panel[] panel = new Panel[n];
        Button[] paybutton = new Button[n];
        Button[] unpaybutton = new Button[n];
        Label[] buzylabel = new Label[n];
        Label[] timerlabel = new Label[n];
        Label[] minutelabel = new Label[n];
        CheckBox[] internetOn = new CheckBox[n];
        NumericUpDown[] timeNumDown = new NumericUpDown[n];
        Timer[] timer = new Timer[n];
        Button btn;
        public void paybutton_Click(object sender, EventArgs e)
        {
            timer.Start();
            buzylabel.ForeColor = Color.Red;
            buzylabel.Text = "осталось времени:";
            pay_button1.Enabled = false;
            button1.Visible = true;
            t1 = decimal.ToInt32(time_numericUpDown1.Value * 60);
            if (internetOn.Checked)
            {
                Ec.allmoney += decimal.ToInt32(time_numericUpDown.Value) * decimal.ToInt32(inetmoney_numericUpDown.Value) / 15;
            }
            else
            {
                money += decimal.ToInt32(time_numericUpDown1.Value) * decimal.ToInt32(compmoney_numericUpDown.Value) / 15;
            }
            allpay_label.Text = money.ToString();
            timer.Interval = 1000;
            timer.Start();
        }
        private void timer_Tick(object sender, EventArgs e)
        {
            int min = (--t1) / 60;
            int sec = (t1) % 60;
            timerlabel1.Text = Convert.ToString(min + ":" + sec);
        }
 
         private void Form1_Load(object sender, EventArgs e)
        {
            int y1 = 4, y2 = 85, y3 = 0;
            for (int i = 0; i < n; i++)
            {
                panel[i] = new Panel();
                panel[i].Width = 175;
                panel[i].Height = 75;
                if (i == y1 - 1)
                {
                    panel[i].Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y1 += 4;
                    y2 += 80;
                    y3 = 0;
                }
                else
                {
                    panel[i].Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y3++;
                }
                panel[i].BackColor = Color.WhiteSmoke;
                panel[i].BorderStyle = BorderStyle.FixedSingle;
                panel1.Controls.Add(panel[i]);
 
                buzylabel[i] = new Label();
                buzylabel[i].Location = new Point(5, 5);
                buzylabel[i].ForeColor = Color.LimeGreen;
                buzylabel[i].Text = Convert.ToString(i + 1) + " , свободен";
                buzylabel[i].Width = 90;
                panel[i].Controls.Add(buzylabel[i]);
 
                timerlabel[i] = new Label();
                timerlabel[i].Location = new Point(135, 5);
                timerlabel[i].Height = 15;
                timerlabel[i].Text = "00:00";
                panel[i].Controls.Add(timerlabel[i]);
 
                internetOn[i] = new CheckBox();
                internetOn[i].Location = new Point(5, 23);
                internetOn[i].Width = 80;
                internetOn[i].Text = "Интернет";
                panel[i].Controls.Add(internetOn[i]);
 
                timeNumDown[i] = new NumericUpDown();
                timeNumDown[i].Location = new Point(5, 50);
                timeNumDown[i].Width = 40;
                timeNumDown[i].Increment = 5;
                timeNumDown[i].Minimum = 5;
                panel[i].Controls.Add(timeNumDown[i]);
 
                minutelabel[i] = new Label();
                minutelabel[i].Text = "минут";
                minutelabel[i].Width = 45;
                minutelabel[i].Location = new Point(48, 57);
                panel[i].Controls.Add(minutelabel[i]);
 
                unpaybutton[i] = new Button();
                unpaybutton[i].Name = unpaybutton + i.ToString();
 
                unpaybutton[i].Location = new Point(95, 22);
                unpaybutton[i].Text = "Обнулить";
                unpaybutton[i].Visible = false;
                unpaybutton[i].FlatStyle = FlatStyle.System;
                unpaybutton[i].Click += new EventHandler(unpaybutton_Click);
                panel[i].Controls.Add(unpaybutton[i]);
 
                paybutton[i] = new Button();
                paybutton[i].Name = paybutton + i.ToString();
                paybutton[i].Location = new Point(95, 48);
                paybutton[i].Text = "Оплатить";
                paybutton[i].FlatStyle = FlatStyle.System;
                paybutton[i].Click += new EventHandler(paybutton_Click);
                panel[i].Controls.Add(paybutton[i]);
 
                timer[i] = new Timer();
                timer[i].Interval = 1000;
                timer[i].Tick += new EventHandler(timer_Tick);
            }
        }
Добавлено через 19 минут
temich-92, вот только у меня ещё лейблы и таймер, который не привязан к sender

Добавлено через 1 час 33 минуты
эх...
0
2 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 4
15.01.2012, 20:04
у тебя много кода и в нем разобраться довольно трудно я написал маленький пример как можно обрабатывать много кнопок в одном обработчике.
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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 test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            int y1 = 4, y2 = 85, y3 = 0;
            Panel pnl;
            Panel panel1 = new Panel();
            panel1.Dock = DockStyle.Fill;
            this.Controls.Add(panel1);
            for (int i = 0; i < 20; i++)
            {
                pnl = new Panel();
                pnl.Width = 175;
                pnl.Height = 75;
                panel1.Controls.Add(pnl);
 
                if (i == y1 - 1)
                {
                    pnl.Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y1 += 4;
                    y2 += 80;
                    y3 = 0;
                }
                else
                {
                    pnl.Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y3++;
                }
                
                
                Button btn = new Button();
                btn.Name = "b" + i;
                btn.Text = "b" + i;
                btn.Click += new EventHandler(btn_Click);
                pnl.Controls.Add(btn);
            }
            
        }
 
 
        void btn_Click(object sender, EventArgs e)
        {
            Button btn;
            if (sender is Button)
            {
                btn = (Button)sender;
                for (int i = 0; i < 20; i++)
                    if (btn.Name == ("b" + i)) MessageBox.Show(string.Format("Button # {0} was clicked",i), "TEST");
            }
            else
            {
                //NullException
            }
            
        }
    }
}
0
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
15.01.2012, 20:08  [ТС]
TrueSupport, спасибо, но мне нужно чтобы он при нажатии на 5 кнопку сделал красным ну пусть хотя бы цвет 5 панели. понимаете, мне нужно чтобы все элменты можно было использовать, все которые я создал а не только у которых есть обработчики.
0
2 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 4
15.01.2012, 20:21
C#
1
if (btn.Name == ("b" + i)) (btn.Parent as Panel).BorderStyle = BorderStyle.Fixed3D;
Добавлено через 7 минут
Цитата Сообщение от ai-zer Посмотреть сообщение
TrueSupportпонимаете, мне нужно чтобы все элменты можно было использовать, все которые я создал а не только у которых есть обработчики.
Вам кажется уже говорили. Для того чтобы иметь доступ ко всем элементам сделайте их глобальными.
C#
1
2
3
4
5
6
7
8
9
10
class someclass
{
Button globalbutton;
Panel globalpanel;
void SomeMethod ()
{
   globalbutton = new Button ();
   globalbutton.Text = "Push Push OLOLO";
}
}
0
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
15.01.2012, 20:27  [ТС]
блин... я больше не в силах объяснить что хочу... хорошо, закрыли тему.
0
c#
 Аватар для temich-92
95 / 95 / 27
Регистрация: 25.03.2011
Сообщений: 290
15.01.2012, 20:43
ээ я че зря думал??))
добавь класс (его содержимое =>)

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
59
60
61
62
63
64
65
66
class Block
    {
        public Panel panel;
        public NumericUpDown timeNumeric;
        public CheckBox internetOn;
        public Label timerLabel;
        public Label statusLabel;
        public Timer timer;
        public Button button;
        public _Status status;
 
        public Block(int x,int y, int numBox)
        {
            panel = new Panel();
            timeNumeric = new NumericUpDown();
            internetOn = new CheckBox();
            timerLabel = new Label();
            statusLabel = new Label();
            timer = new Timer();
            button = new Button();
            status = _Status.свободен;
 
 
            int boxWidth = 200, boxHeight = 100;
 
            panel.Size = new Size(boxWidth, boxHeight);
            panel.Location = new Point(x, y);
            panel.BorderStyle = BorderStyle.FixedSingle;
 
            button.Size = new Size(80, 25);
            button.Location = new Point(panel.Width - button.Width - 5, panel.Height - button.Height - 5);
            button.Text = "оплатить";
            button.Click += new EventHandler(button_Click);
 
            timeNumeric.Size = new Size(60, 25);
            timeNumeric.Location = new Point(5, panel.Height - timeNumeric.Height - 5);
 
            internetOn.AutoSize = true;
            internetOn.Location = new Point(5, timeNumeric.Location.Y - internetOn.Height - 5);
            internetOn.Text = "интернет";
 
            status = _Status.свободен;
 
            statusLabel.AutoSize = true;
            statusLabel.Location = new Point(5, 5);
            statusLabel.Text = (numBox + 1).ToString() + ", " + status.ToString();
 
            timer.Interval = 100;
            timer.Tick += new EventHandler(timer_Tick);
 
            timerLabel.Size = new Size(40, 25);
            timerLabel.Text = "00:00";
            timerLabel.Location = new Point(panel.Width - timerLabel.Width - 5, 5);
        }
 
        public void button_Click(object sender,EventArgs e)
        {
            button.Text+= "t";
            timerLabel.Text = timeNumeric.Value.ToString();
        }
 
        public void timer_Tick(object sender, EventArgs e)
        {
 
        }
    }

а это код к форме

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
enum _Status { свободен, занят };
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        int n = 10;
        Block[] blocks;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            blocks = new Block[n];
            int x = 10, y = 10;
            int boxWidth = 200, boxHeight = 100;
            int countPanelInStr=0;
 
            for (int i = 0; i < n; i++)
            {
                Block block = new Block(x, y, i);
 
                Controls.Add(block.panel);
                block.panel.Controls.Add(block.button);
                block.panel.Controls.Add(block.internetOn);
                block.panel.Controls.Add(block.statusLabel);
                block.panel.Controls.Add(block.timeNumeric);
                block.panel.Controls.Add(block.timerLabel);
 
                x += boxWidth + 5;
 
                countPanelInStr++;
 
                if (countPanelInStr == 5)
                {
                    countPanelInStr = 0;
                    y += boxHeight + 5;
                    x = 10;
                }
            }
        }


Добавлено через 36 секунд
дальше сам) делай что надо
0
c#
 Аватар для temich-92
95 / 95 / 27
Регистрация: 25.03.2011
Сообщений: 290
15.01.2012, 20:51
вот проект на всякий сразу)
Вложения
Тип файла: rar x3.rar (39.6 Кб, 22 просмотров)
1
2 / 1 / 0
Регистрация: 15.01.2012
Сообщений: 4
15.01.2012, 20:57
код ужасный я понимаю но вот вам информация для размышления.
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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 test
{
    public partial class Form1 : Form
    {
        Label[] lbl = new Label[20];
        Timer[] tmr = new Timer[20];
        DateTime date = new DateTime();
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            int y1 = 4, y2 = 85, y3 = 0;
            Panel pnl;
            Panel panel1 = new Panel();
            panel1.Dock = DockStyle.Fill;
            this.Controls.Add(panel1);
            for (int i = 0; i < 20; i++)
            {
                // create panel
                pnl = new Panel();
                pnl.Width = 175;
                pnl.Height = 75;
                pnl.BorderStyle = BorderStyle.FixedSingle;
                panel1.Controls.Add(pnl);
 
                if (i == y1 - 1)
                {
                    pnl.Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y1 += 4;
                    y2 += 80;
                    y3 = 0;
                }
                else
                {
                    pnl.Location = new Point(5 + 5 * y3 + 175 * y3, y2);
                    y3++;
                }
                
                //create button
                Button btn = new Button();
                btn.Name = "b" + i;
                btn.Text = "b" + i;
                btn.Dock = DockStyle.Bottom;
                btn.Click += new EventHandler(btn_Click);
                pnl.Controls.Add(btn);
                //create timer
                tmr[i] = new Timer();
                tmr[i].Interval = 1000;
                tmr[i].Tick += new EventHandler(Form1_Tick);
                tmr[i].Tag = i;
 
                lbl[i] = new Label();
                lbl[i].Dock = DockStyle.Top;
                lbl[i].Text = i.ToString();
                pnl.Controls.Add(lbl[i]);
            }
            
        }
 
        void Form1_Tick(object sender, EventArgs e)
        {
            Timer timer = sender as Timer;
            date = DateTime.Now;
            for(int i = 0; i < 20; i++)
            {
                if(int.Parse(timer.Tag.ToString()) == i) lbl[i].Text = date.Second.ToString();
            }
                 
           
        }
 
 
        void btn_Click(object sender, EventArgs e)
        {
            Button btn;
            if (sender is Button)
            {
                btn = (Button)sender;
                for (int i = 0; i < 20; i++)
                {
                    if (btn.Name == ("b" + i))
                    {
                        if (tmr[i].Enabled)
                            tmr[i].Stop();
                        else
                            tmr[i].Start();
                    }
                }
            }
            else
            {
                //NullException
            }
            
        }
    }
}
1
19 / 34 / 11
Регистрация: 09.10.2010
Сообщений: 420
15.01.2012, 21:24  [ТС]
temich-92, вот это классно, то что нужно. Да ещё и с ооп
0
c#
 Аватар для temich-92
95 / 95 / 27
Регистрация: 25.03.2011
Сообщений: 290
16.01.2012, 00:14
Цитата Сообщение от temich-92 Посмотреть сообщение
Block[] blocks;
Цитата Сообщение от temich-92 Посмотреть сообщение
blocks = new Block[n];
вот этих строчек получается не надо..

Добавлено через 1 минуту

Не по теме:


Цитата Сообщение от ai-zer Посмотреть сообщение
temich-92, вот это классно, то что нужно. Да ещё и с ооп
сам в шоке

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2012, 00:14
Помогаю со студенческими работами здесь

Динамическое создание элементов
Доброго времени суток, форумчане! Есть такая проблемка: нужно динамически создавать новую форму, в ней 2 шт. dataGridView и 1 chart,...

Динамическое создание элементов управления
в общем, код написан верно (вроде как), проверял его изначально (добавлял компоненты, к ним код и прога работала), решил сделать через...

Динамическое создание элементов формы
Подскажите, пожалуйста вот этот код Label nbomb = new Label(); nbomb.Name = &quot;bomb&quot; + bcount; bcount++; nbomb.Top = 50 * sman.x;...

Динамическое создание элементов с использованием DLL
Доброго всем времени суток! Можно ли сделать так, чтобы при вызове определенной функции (на пример, по нажатию кнопки) из DLL на форме...

Динамическое создание и удаление элементов управления
В конструкторе есть комбобокс, нужно отображать n-ое кол-во textbox и label, в зависимости от значения combobox,дальше по коду ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru