Написать программу, динамически порождающую на окне кнопки или метки. Левый верхний угол элемента управления определяется местоположением курсора при щелчке. При нажатии правой кнопки мыши на форме с нее удаляются все кнопки.
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.IO; using System.Windows.Forms; namespace laba5 < public partial class Form1 : Form < public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void Form1_MouseClick(object sender, MouseEventArgs e) < Random rnd = new Random(); if (e.Button == MouseButtons.Left) < Label label = new Label(); label.Location = e.Location; label.Size = new Size(rnd.Next(150, 200), rnd.Next(150, 200)); Button button = new Button(); button.Location = e.Location; button.Size = new Size(rnd.Next(50, 100), rnd.Next(50, 100)); >else if (e.Button == MouseButtons.Right) < Controls.Clear(); >> private void btn_Click(object sender, EventArgs e) < MessageBox.Show((sender as Button).Text); >> >
Вроде написал все по учебнику, а при запуске не работает, что правая, что левая кнопка
Уроки C# – Анимация в Windows Forms с амплитудой
Отслеживать
28.5k 19 19 золотых знаков 54 54 серебряных знака 130 130 бронзовых знаков
Источник: ru.stackoverflow.com
При нажатии на кнопку добавляется элемент — Visual Basic .NET
разработать программу с двумя кнопками на форме. При нажатии на первую на форму добавляется одна Panel. При нажатии на вторую кнопку в каждую панель добавляется поле ввода. Все сложно. Единственное что я смог изрыгнуть это вот это, но это у меня добавляется только в единственном экземпляре, и то, текстбокс за панелью оказывается и получается недоступен для ввода.
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim a As New Panel Me.Controls.Add(a) a.BackColor = Color.Blue a.Size = New Size(50, 50) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim b As New TextBox Me.Controls.Add(b) b.BackColor = Color.Silver b.Size = New Size(10, 40) End Sub End Class
Код к задаче: «При нажатии на кнопку добавляется элемент»
Листинг программы
Dim a As New Panel Dim b As New TextBox Dim PanelCount As Integer = 0 Dim loc As Point = New Point(30, 30) Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click a = New Panel a.BackColor = Color.Blue a.Size = New Size(100, 100) a.Location = loc If PanelCount = 4 Then PanelCount = 0 loc = New Point(loc.X + a.Width, 30) Else loc = New Point(loc.X, loc.Y + a.Height) PanelCount += 1 End If Me.Controls.Add(a) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click For Each PN As Panel In Me.Controls.OfType(Of Panel)() If PN.Controls.Count = 0 Then b = New TextBox b.BackColor = Color.Silver b.Size = New Size(50, 40) b.Location = New Point(10, 10) PN.Controls.Add(b) End If Next End Sub
Источник: studassistent.ru
Создание приложения с интерфейсом C#
Создание обработчика события выделенной первой радиокнопки
Шаг 1. Ввожу новые переменные x0,xk,dx,x.
Шаг 3. Значения х и у выводятся в label1.
ЛАБОРАТОРНАЯ 5. КЛАССЫ И ОБЪЕКТЫ
На этом занятии нам необходимо будет выполнить следующие виды работ:
-Создать программу с кнопкой, меткой и полем ввода. При щелчке на соотв-щий эл-т на форме динамически появляется подобный эл-т. Предусмотеть возможность вывода кол-ва кнопок, меток, полей ввода.
-Разобрать программу, динамически порождающую при щелчке на окне различные эл-ты. Тип эл-тов определяется с помощью радиокнопок. Все эл-ты располагаются горизонтально в ряд. При достижении правой границы окна начинается новый ряд эл-тов.
Установка необходимого количества компонентов.
Шаг 1. Выбираю на панели компонентов компонент TextBox и размещаю 1шт.
Шаг 2. Выбираю на панели компонентов компонент Label и размещаю 1шт на форме.
Шаг 3. Выбираю на панели компонентов компонент Button и размещаю 1шт на форме.
Ввод новых переменных.
Шаг 1. Определяю переменные x,y с координатами для TextBox’ ов и Кнопок.
Шаг 2. Определяю переменные xl,yl с координатами для Меток
Шаг 3. Определяю переменные w,h с высотой и шириной эл-тов.
Шаг 4. Определяю переменные bcount,lcount,tcount для счета кол-ва эл-тов.
Создание обработчика события появления кнопок.
Шаг 1. Динамически создаю новую кнопку Button b = new Button();
Шаг 2. С помощью Location и Size определяю для нее координаты, к которым после появления кнопки прибавляется число, чтобы кнопки появлялись в разных местах, и размер.
Шаг 3. Для вывода кол-ва кнопок, прибавляю к переменной bcount 1 единицу каждый раз, когда создается кнопка.
Шаг 4. Вывожу кол-во кнопок в отдельную метку.
Создание обработчика события появления меток.
Шаг 1. Динамически создаю новую метку Label l = new Label();
Шаг 2. С помощью Location и Size определяю для нее координаты, к которым после появления метки прибавляется число, чтобы метки появлялись в разных местах, и размер.
Шаг 3. Для вывода кол-ва меток, прибавляю к переменной lcount 1 единицу каждый раз, когда создается метка.
Шаг 4. Вывожу кол-во меток в отдельную метку.
Создание обработчика события появления полей ввода.
Шаг 1. Динамически создаю новое поле ввода TextBox t = new TextBox();
Шаг 2. С помощью Location и Size определяю для него координаты, к которым после появления поля ввода прибавляется число, чтобы поля появлялись в разных местах, и размер.
Шаг 3. Для вывода кол-ва полей, прибавляю к переменной tcount 1 единицу каждый раз, когда создается поле ввода.
Шаг 4. Вывожу кол-во полей ввода в отдельную метку.
Источник: infopedia.su