Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
балаболка
1 / 1 / 0
Регистрация: 09.09.2014
Сообщений: 65
1

Динамическое создание различных элементов управления в зависимости от условия

15.10.2014, 14:40. Просмотров 1373. Ответов 5
Метки нет (Все метки)

Написать программу с кнопкой и тремя полями ввода. При нажатии на кнопку программа анализирует содержимое первого поля и динамически поражает элемент управления. Если в первом поле ввода содержится буква "К" то на форму добавляется кнопка, Если "П"-поле ввода. "М"-метка. Во втором и третьем поле ввода содержатся координаты левого верхнего угла будущего элемента управления.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2014, 14:40
Ответы с готовыми решениями:

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

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

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

Как выбирать элемент управления в зависимости от условия?
for(int i=0;i<8;i++) {...

Динамическое создание группы контроллов на форме в зависимости от ситуации
Добрый день. Возникла такая интересная задача: есть некий набор сложных...

5
fidgi
64 / 64 / 16
Регистрация: 07.04.2014
Сообщений: 332
15.10.2014, 14:44 2
Это Вы нам типа задание дали?

Цитата Сообщение от балаболка Посмотреть сообщение
динамически поражает элемент управления.
Это как так?
0
балаболка
1 / 1 / 0
Регистрация: 09.09.2014
Сообщений: 65
15.10.2014, 14:52  [ТС] 3
fidgi, вот сам не пойму как это, а задание делать нужно

Добавлено через 37 секунд
fidgi, опечатка)) "порождает"
0
Nikeys174
27 / 55 / 19
Регистрация: 18.08.2014
Сообщений: 329
Завершенные тесты: 1
15.10.2014, 15:02 4
Лучший ответ Сообщение было отмечено балаболка как решение

Решение

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
namespace InputBox1
{
    public class InputBox : Form
    {
        TextBox textBox;
 
        public InputBox()
        {
            this.StartPosition = FormStartPosition.CenterScreen;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
            this.Size = new Size(300, 150);
            this.Text = "Заголовок";
 
            textBox = new TextBox();
            textBox.Size = new Size(250, 25);
            textBox.Font = new Font(TextBox.DefaultFont, FontStyle.Regular);
            textBox.Location = new Point(20, 50);
 
            this.Controls.Add(textBox);
 
            textBox.Show();
 
            textBox.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
 
            Label label = new Label();
            label.AutoSize = false;
            label.Size = new Size(250, 25);
            label.Font = new Font(label.Font, FontStyle.Regular);
            label.Location = new Point(20, 25);
            label.Text = "Введите новое значение:  ";
 
            this.Controls.Add(label);
 
            label.Show();
 
            Button buttonOK = new Button();
            buttonOK.Size = new Size(80, 25);
            buttonOK.Location = new Point(105, 75);
            buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
            buttonOK.Text = "OK";
 
            this.Controls.Add(buttonOK);
 
            buttonOK.Show();
 
            Button buttonCancel = new Button();
            buttonCancel.Size = new Size(80, 25);
            buttonCancel.Location = new Point(190, 75);
            buttonCancel.Text = "Cancel";
 
            this.Controls.Add(buttonCancel);
 
            buttonCancel.Show();
 
            buttonCancel.Click += new EventHandler(buttonCancel_Click);
        }
 
        public void textBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (Char)Keys.Enter)
            {
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
 
                this.Close();
            }
        }
 
        public void buttonCancel_Click(object sander, EventArgs e)
        {
            this.Close();
        }
 
        public string getString()
        {
            if (this.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                return null;
            return textBox.Text;
        }
    }
}
Создаем форму с textBox, по аналогии другие объекты.
Код выше используй, как инициализатор
На основной форме используй if-else и после этого вызывай нужный инициализатор.
1
балаболка
1 / 1 / 0
Регистрация: 09.09.2014
Сообщений: 65
15.10.2014, 15:14  [ТС] 5
Nikeys174, спасибо, но я совсем поплыл
Создаем форму с textBox, по аналогии другие объекты.
Код выше используй, как инициализатор
На основной форме используй if-else и после этого вызывай нужный инициализатор.
можно подробней обьяснить?
0
Nikeys174
27 / 55 / 19
Регистрация: 18.08.2014
Сообщений: 329
Завершенные тесты: 1
15.10.2014, 15:25 6
Лучший ответ Сообщение было отмечено балаболка как решение

Решение

Код написанный выше, динамически создает форму с label, textbox и двумя button-ами. Немного комментарием и будет создаваться что-то одно. Раскопируй 3 раза этот класс(!), в первом создавай только textbox, во втором button, в третьем метка. Дальше на главной форме добавляем textBox и кнопку.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void button1_Click(sender e, EventArgs e)
{
if (textbox1.text.ToString()=="К")
{
//вызываем класс, который создает кнопку
}
if else (textbox1.text.ToString()=="П")
{
//вызываем класс, который создает поле ввода
}
if else (textbox1.text.ToString()=="Л")
{
//вызываем класс, который создает метку
}
}
1
15.10.2014, 15:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2014, 15:25

Динамическое изменение размеров элементов управления
На форме по вертикали горизонтально размещены DataGridView, а под ним ListView....

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

Динамическое создание элементов интерфейса
С Новым Годом, друзья. В общем, печалька у меня: создаю элементы, а в...


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

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

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