Как добавить кнопки на форму с
Перейти к содержимому

Как добавить кнопки на форму с

  • автор:

c# добавление кнопок в форму

Есть форма она разделена на 2 части. В левой создана кнопка. В правой tablelayoutpanel.При нажатии на кнопку должна заполняться tablelayoutpanel определённым количеством кнопок. К этим кнопкам добавить действие по клику и т.д. Как реализовать?

Отслеживать
9,431 2 2 золотых знака 15 15 серебряных знаков 31 31 бронзовый знак
задан 18 мар 2018 в 9:17
Oleg Kolosovsky Oleg Kolosovsky
23 8 8 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

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

Отслеживать
ответ дан 18 мар 2018 в 9:37
Vdovin Daniil Vdovin Daniil
590 2 2 серебряных знака 14 14 бронзовых знаков

Реализовать в итоге хочу слева нажимаешь кнопку справа появляются другие.На каждой справа своё действие. Слева будут несколько кнопок.Каждая кнопка слева вызывает свои справа.

18 мар 2018 в 9:49

@OlegKolosovsky вы можете вызывать одни и те же кнопки, и просто менять их свойства , действия , текст , и прочее

18 мар 2018 в 9:57

Вот пример создания кнопок, разберите его для понимания, и адаптируйте код под свои нужды.

public partial class Form1:Form < public Form1() < InitializeComponent(); >int _count = 0; Point location = new Point(0, 0); private void button1_Click(object sender, EventArgs e) < Button firstButton = new Button(); firstButton.Name = "firstButton" + _count.ToString(); firstButton.Text = "Button" + location.X.ToString() + ", " + location.Y.ToString(); firstButton.Size = new System.Drawing.Size(100, 25); firstButton.Left = location.X; firstButton.Top = location.Y; firstButton.UseVisualStyleBackColor = true; firstButton.Click += firstButtons_Click; panel1.Controls.Add(firstButton); if (_count == 5) < _count = 0; location = new Point(location.X + firstButton.Width); >else < _count++; location = new Point(location.X, location.Y + firstButton.Height); >> private void firstButtons_Click(object sender, EventArgs e) < Button btn = (Button)sender; MessageBox.Show("You pressed the button " + btn.Text); >> 

Отслеживать
ответ дан 18 мар 2018 в 10:40
Digital Core Digital Core
1,644 12 12 серебряных знаков 18 18 бронзовых знаков

  • c#
  • winforms
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Создание кнопки на форме

Создание, Удаление программно кнопки Button на форме и работа с ее событиями
Здравствуйте, помогите пожалуйста. У меня на форме 2 кнопки создание через конструктор (Создать.

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

При нажатии правой кнопки мыши на форме с нее удаляются все кнопки
Написать программу, динамически порождающую на окне кнопки или метки. Левый верхний угол элемента.

При нажатии правой кнопки мыши на форме с нее удаляются все кнопки
Написать программу, динамически порождающую на окне кнопки или метки. Левый верхний угол элемента.

1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
Надо добавить кнопку в коллекцию контролов формы
вот так

this.Controls.Add(button1);

шарпопочитатель
Регистрация: 31.01.2010
Сообщений: 1,035

а как потом ей управлять?
1)То есть загрузить картинку в нее.
2) Как применить драг он дроп метод?(двигать)
3) Как обратотать событие онклик ?

4) Или подскажите что почитать. (я не знаю как это a гугле сформулировать)

969 / 772 / 171
Регистрация: 12.04.2009
Сообщений: 1,700

Делаете это в дизайнере (конструкторе), а потом смотрите не полученный код и делаете.
Form1.Designer.cs к примеру

Регистрация: 19.08.2010
Сообщений: 72

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
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 WindowsFormsApplication4 { public partial class Form1 : Form { public Button but = new Button(); public Form1() { InitializeComponent(); but.Text = "My Button"; but.Size = new Size(60,20); but.Location = new Point(10,10); this.Controls.Add(but); } } }
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.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication4 { public partial class Form1 : Form { public Button but = new Button(); public Form1() { InitializeComponent(); but.Text = "My Button"; but.Size = new Size(60,20); but.Location = new Point(10,10); ///////////////////////////////////////Click but.Click += new EventHandler(but_Click); this.Controls.Add(but); } ////////////////////////Обработка Click private void but_Click(object sender, EventArgs e) { MessageBox.Show("Hello","Welcome"); } } }

Добавление кнопки на управляемую форму

Изменение форм объектов конфигурации является очень распостраненной задачей при доработке типовый конфигураций, создании отчетов и обработок и т.д. Да в абсолютном большинстве случаев разработчику приходится иметь дело с формами.

Изображение

Сегодня в статье рассмтрим сквозной пример добавления на управляемую форму кнопки.

Конструктор

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

Изображение

И кнопка уже добавлена!

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

Программное добавление

И так, то что мы сделали в 2 клика сделаем с помощью нескольких строк кода. Перед тем как добавлять команду формы, нам нужно определить процедуру-обработчик этой команды. Добавим в модуль формы следующую процедуру:

&НаКлиенте Процедура Предупредить(Элемент) Предупреждение("Предупреждаю!"); КонецПроцедуры

Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы «ПриСозданиинаСервере»:

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Добвляем команду формы НоваяКоманда = ЭтаФорма.Команды.Добавить("Предупредить"); // Свойство "Действие" содержит имя процедуры-обработчика команды НоваяКоманда.Действие = "Предупредить"; КонецПроцедуры 

Отлично, осталось добавить элемент формы типа «Кнопка формы» для команды формы «Предупредить». Дополним обработчик события «ПриСозданииНаСервере»:

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Добвляем команду формы НоваяКоманда = ЭтаФорма.Команды.Добавить("Предупредить"); // Свойство "Действие" содержит имя процедуры-обработчика команды НоваяКоманда.Действие = "Предупредить"; // Добавляем элемент "КомандаПредупредить" с типом "Кнопка формы" НовыйЭлемент = Элементы.Добавить("КомандаПредупредить", Тип("КнопкаФормы")); // Присваиваем команду для созданной кнопке НовыйЭлемент.ИмяКоманды = "Предупредить"; КонецПроцедуры 

На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:

Изображение

Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.

Читайте также

Когда количество изменений на предприятии превышает критический уровень в сторону необновляемых конфигураций — 1С предлагает создание управляемого приложения

Настройка отчета на СКД без кодирования
Возможность отбора по подстроке реквизитов
Разработки

Как свернуть все активные окна

Обработка — Как сворачивать активные окна

Табло для управляемого приложения, тонкий клиент

Обработка — табло управляемого приложения

«Аудиторский след» (история изменений) документов и справочников для любой конфигурации обычного приложения 8.x

«Модуль для фиксации изменений в документах и справочников»
Еще от автора

  • Передача данных между управляемыми формами
  • Фиксируем колонку в отчете на СКД
  • Создаем бизнес-процесс в несколько шагов
  • Если у Вас нет феноменальной памяти

Программное добавление кнопки на управляемую форму

Подобная задача может возникнуть тогда, когда программист задумывается о дальнейшей поддержке и обновлении данной конфигурации. Обновить форму в которой элементы добавлены программным образом, будет намного проще и быстрее. Просто нужно будет скопировать кусок кода.

В моем случае нужно было добавить кнопку «Печать», которая в свою очередь открывает список возможных печатных форм.

Для того, чтобы программно добавить кнопку на управляемую форму, нужно в процедуре «ПриСозданииНаСервере» прописать:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *