Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
3 / 3 / 1
Регистрация: 17.09.2017
Сообщений: 359
1

Как при нажатие на панель добавлять кнопки?

20.11.2018, 21:16. Показов 1884. Ответов 3
Метки нет (Все метки)

при щелчке мыши на первой панели добавляет
во вторую панель кнопки Button, при щелчке на второй панели добавляет
в третью панель поля ввода TextBox, а при щелчке на третьей
панели добавляет на первую панель метки Label.






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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
           
        }
 
        private void panel2_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void panel3_Paint(object sender, PaintEventArgs e)
        {
 
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2018, 21:16
Ответы с готовыми решениями:

Нужно написать программу которая будет все скрывать при нажатие кнопки и при втором нажатие открывать
Вообщем на форме 1, у нас 3 label(label1,label2,label3) и 2 button(button1,button2), нужно написать...

Как при нажатии кнопки с формы access adp добавлять поля на форму?
подскажите как при нажатии кнопки, которая будет расположена на форме access adp (проект),...

Как при нажатии одной кнопки сделать "нажатие" другой кнопки?
Как скажем при нажатии одной кнопки сделать "нажатие" другой кнопки? Именно чтобы была анимация...

Как сделать при нажатие кнопки активацию Memo
Вопрос такой: Есть button 1 и 2,а так же Memo 1 и 2.Надо,чтобы при нажатие button 1 активировалось...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
3
329 / 171 / 99
Регистрация: 07.01.2016
Сообщений: 464
20.11.2018, 21:56 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        List<Panel> p = new List<Panel>();
        public Form1()
        {
            InitializeComponent();
            for(int i = 0;i<3;i++)
            {
                p.Add(new Panel()
                {
                    Location = new Point(50 + 150 * i, 50),
                    Size = new Size(100, 100), 
                    BackColor = Color.Green,
                    Tag = i,
                });
                Controls.Add(p[i]);
                p[i].MouseClick += PanelClick;
            }
            InitParams();
        }
        private void PanelClick(object s, EventArgs e)
        {
            int tag = (int)((Panel)s).Tag;
            int control = tag + 1;
            if (control == 3) control = 0;
            p[control].Controls.Add(AddedControls(tag));
        }
        Size size; Point point;
        private void InitParams()
        {
            size = new Size(p[1].Width / 2, p[1].Height / 2);
            point = new Point(p[1].Width / 4, p[1].Height / 4);
        }
        private Control AddedControls(int tag)
        {
            switch (tag)
            {
                case 0:
                    return new Button() { Size = size, Location = point };
                case 1:
                    return new TextBox() { Size = size, Location = point };
                default:
                    return new Label() { Size = size, Location = point, Text = "Lol" };
            }
        }
    }
}
1
Вложения
Тип файла: 7z WindowsFormsApp2.7z (150.5 Кб, 5 просмотров)
3 / 3 / 1
Регистрация: 17.09.2017
Сообщений: 359
20.11.2018, 22:44  [ТС] 3
Можете вот эту часть кода обьяснить?

C#
1
2
3
4
int tag = (int)((Panel)s).Tag;
            int control = tag + 1;
            if (control == 3) control = 0;
            p[control].Controls.Add(AddedControls(tag));
0
329 / 171 / 99
Регистрация: 07.01.2016
Сообщений: 464
21.11.2018, 00:12 4
Цитата Сообщение от Александрррррпд Посмотреть сообщение
Можете вот эту часть кода обьяснить?
C#
1
2
3
4
5
6
7
8
                // s - панель, по которой произошел клик, узнать ее порядковый номер через тэг
                int tag = (int)((Panel)s).Tag;
                // порядковый номер панели, на которую будет добавление
                int control = tag + 1;
                // если клик по крайней панели, добавление будет на первую
                if (control == 3) control = 0;
                // добавить контрол на панель
                p[control].Controls.Add(AddedControls(tag));
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2018, 00:12

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сымитировать нажатие кнопки при запуске программы
Как сделать чтобы после запуска программы кнопка была нажата. Выбираю Focus() не работает....

Как имитировать нажатие Ctrl+C при нажатии кнопки
Как по срабатыванию события (к примеру нажатие горячей клавиши) в окне, в котором я нахожусь...

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

Как сделать так чтоб при нажатии кнопки "enter" происходило нажатие кнопки "button1" на форме
Пишу программу которая должна сложить числа по нажатии кнопки &quot;button1&quot;. Подскажите, пожалуйста,...

Как при нажатие кнопки поменять текст в Label1 другой формы
Всем привет! Как можно менять текст Label при нажатие на кнопку ? Form1 Есть Label и кнопка с...

Как сделать чтобы при нажатие кнопки появлялось сообщение с текстом из Memo1
Как сделать чтобы при нажатие кнопки появлялось сообщение с текстом из Memo1 Зарание благодарю


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.