При нажатии на форму появляется текст бокс visual studio
Обновлено: 07.07.2024
Nbsp; СОДЕРЖАНИЕ ВВЕДЕНИЕ.. 3 ЛАБОРАТОРНАЯ 1. ИЗУЧЕНИЕ СРЕДЫ РАЗРАБОТКИ MICROSOFT VISUAL STUDIO 4 ЛАБОРАТОРНАЯ 2. ЛИНЕЙНЫЕ АЛГОРИТМЫ. 5 ЛАБОРАТОРНАЯ 3. РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ. 5 ЛАБОРАТОРНАЯ 4. ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ. 5 ЛАБОРАТОРНАЯ 5. КЛАССЫ И ОБЪЕКТЫ. 5 ЛАБОРАТОРНАЯ 6. СТРОКИ.. 5 ЛАБОРАТОРНАЯ 7. ОДНОМЕРНЫЕ МАССИВЫ. 5 ЛАБОРАТОРНАЯ 8. МНОГОМЕРНЫЕ МАССИВЫ. 5 ЛАБОРАТОРНАЯ 9. ГРАФИКИ ФУНКЦИЙ.. 5 ЛАБОРАТОРНАЯ 10. КОМПЬЮТЕРНАЯ ГРАФИКА.. 5 ЛАБОРАТОРНАЯ 11. АНИМАЦИЯ.. 5 ЛАБОРАТОРНАЯ 12. ОБРАБОТКА ИЗОБРАЖЕНИЙ.. 5 ЛАБОРАТОРНАЯ 13. МЕТОДЫ. 5 ЛАБОРАТОРНАЯ 14. РЕКУРСИЯ.. 5 ЛАБОРАТОРНАЯ 15. СОРТИРОВКА И ПОИСК.. 5 ЗАКЛЮЧЕНИЕ.. 6 СПИСОК ЛИТЕРАТУРЫ. 7 ПРИЛОЖЕНИЯ.. 8
ВВЕДЕНИЕ
Я, студент группы ПКС-301, проходил учебную практику в Политехническом колледже СахГУ.
Руководитель практики: Тян В.Г.
Время прохождения практики с 15.12.18 по 28.12.18.
Учебная практика элемент образовательного процесса, основная цель которого — закреплять теоретические знания и практические умения. Достигается посредством выполнения ряда более частных задач: закрепления знаний в ходе их непосредственного применения; выработки умений и навыков в ходе систематических упражнений; формирования умений применять знания при разрешении технологических и иных проблем.
Целью прохождения учебной практики является реализация полученных теоретических знаний, умений и навыков в ходе изучения МДК 01.01 Системное программирование. Для достижения поставленной цели, при прохождении практики, ставились следующие задачи:
ЛАБОРАТОРНАЯ 1. ИЗУЧЕНИЕ СРЕДЫ РАЗРАБОТКИ MICROSOFT VISUAL STUDIO
На этом занятии нам необходимо будет выполнить следующие виды работ:
-Разместить на форме ряд кнопок, напротив каждой поле ввода. Создать обработчик события нажатия на данные кнопки, которые будут менять заголовок окна.
- Реализовать игру минер на поле 3х3 из кнопок.Изначально на кнопках нет надписей.При попытке нажатия на кнопку, на ней либо показывается количество мин, либо надпись «мина!» и меняется цвет окна.
Размещение на форме трех кнопок
Шаг 1. Выбираю на панели компонентов Button.Размещаю на форме 3 кнопки.
Шаг 2. Изменяю значение поля Text в свойствах компонента на нужный текст.
Создание обработчиков событий для кнопок
Шаг 1. Выбираю кнопку и на панели свойств во вкладке событий выбираю событие Click.
А)Присваиваем тексту заголовка формы значение textBox1.Text.
Б)Присваиваем тексту заголовка формы значение textBox2.Text.
В)Присваиваем тексту заголовка формы значение textBox3.Text.
Вывод программы:
Размещение на форме девяти кнопок
Шаг 1. Выбираю на панели компонентов Button.Размещаю на форме 9 кнопок.
Шаг 2. Изменяю значение поля Text в свойствах компонента на пустой текст.
Определение переменных
Шаг 1. В классе Form1 определяю переменную mines типа int;
Создание обработчиков событий для кнопок
Шаг 1. Выбираю кнопку и на панели свойств во вкладке событий выбираю событие Click.
А)при нажатии 1 кнопки, заменяем текст кнопки.
Б)Заменяем цвет формы на красный или зеленый.
В)Если нажали на мину, значение mines уменьшается на 1.
Вывод программы:
В этом пошаговом руководстве демонстрируется использование кнопок и текстовых полей в настройке уровня документа для Microsoft Office Word.
Применимость. Информация в этой статье относится к проектам уровня документа для Word.- Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.
В этом пошаговом руководстве описаны следующие задачи:
добавление элементов управления в документ Word в проекте на уровне документа во время разработки;
заполнение текстового поля при нажатии кнопки.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Предварительные требования
Для выполнения этого пошагового руководства требуются следующие компоненты:
Выпуск Visual Studio, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в статье Настройка компьютера для разработки решений Office.
Создание проекта
Первым шагом является создание документа Word.
Создание нового проекта
Создайте проект документа Word с именем Моя кнопка Word. В мастере выберите создать новый документ.
Visual Studio открывает новый документ Word в конструкторе и добавляет проект кнопки "мой Word" в обозреватель решений.
Добавление элементов управления в документ Word
Элементы управления пользовательского интерфейса в документе Word состоят из кнопки и текстового поля.
Добавление кнопки и текстового поля
Убедитесь, что документ открыт в конструкторе Visual Studio.
Из вкладки Общие элементы управления панели элементов перетащите TextBox элемент управления в документ.
В Word элементы управления по умолчанию сбрасываются в один уровень с текстом. Способ вставки элементов управления и объектов фигур можно изменить, изменив значение по умолчанию на вкладке Правка диалогового окна Параметры в Word.
В меню Просмотр выберите пункт Окно свойств.
Найдите поле textBox1 в раскрывающемся списке окно свойств и измените свойство Name текстового поля на DisplayText.
Перетащите элемент управления Button в документ и измените следующие свойства.
Свойство | Значение |
---|---|
Имя | insertText |
Text | Вставить текст |
Теперь можно написать код, который будет выполняться при нажатии кнопки.
Заполнение текстового поля при нажатии кнопки
Каждый раз, когда пользователь нажимает кнопку, Hello World! добавляется в текстовое поле.
Запись в текстовое поле при нажатии кнопки
В Обозреватель решений щелкните правой кнопкой мыши ThisDocument и выберите в контекстном меню пункт Просмотреть код .
Добавьте следующий код в обработчик событий Click кнопки.
Тестирование приложения
Проверка документа
Нажмите клавишу F5 для запуска проекта.
Убедитесь, что Hello World! отображается в текстовом поле.
Дальнейшие действия
В этом пошаговом руководстве описываются основные принципы использования кнопок и текстовых полей в документах Word. Ниже приводятся некоторые из возможных последующих задач.
Использование поля со списком для изменения форматирования. Дополнительные сведения см. в разделе Пошаговое руководство. изменение форматирования документа с помощью элементов управления CheckBox.
Использование переключателей для выбора стилей диаграмм. Дополнительные сведения см. в разделе Пошаговое руководство. Обновление диаграммы в документе с помощью переключателей.
Инструментарий:
объект | свойство name | свойство text |
---|---|---|
форма | Вычисление суммы | |
кнопка (button) | btnExit | Выход |
текстовое поле (textbox) | txtA | 0 |
текстовое поле (textbox) | txtB | 0 |
текстовое поле (textbox) | txtC | 0 |
текстовое поле (textbox) | txtSumma | 0 |
кнопка (button) | btnCount | Вычислить |
Выполнение:
this-> Close();
- Создайте три элемента управления Textbox (txtA,txtB,txtC) для слагаемых. Задайте свойство Text для этих элементов управления, равное 0.
- Создайте еще один элемент управления TextBox (txtSumma) (размеры и расположение кнопок см. рис «форма Вычисление_суммы»).
- Создайте кнопку Вычислить (btnCount).
- Запрограммируйте событие Click для кнопки Вычислить следующим образом:
Parse – функция преобразования строкового значение в целое число;
- Запустите приложение, введите значения для слагаемых и посмотрите, что произойдет, если Вы нажмете на кнопку Вычислить.
- Сохраните проект.
- площадь треугольника по трем сторонам;
- площадь прямоугольника по двум сторонам;
- площадь треугольника по двум сторонам и углу между ними;
- процент от числа.
- Какова основная функция элемента управления TextBox?
- Какая функция C++ округляет числовые значения?
На форме есть объект Textbox, ControlSource которого переменная, в это поле вводят текстовую информацию,
необходимо не выходя с этого поля проверить его по нажатию клавиши, например F5.
Но когда обрабатываю нажатие этой клавиши в методе KeyPress - переменная пустая, только при выходе с этого поля, она заполняется данными, которые ввели, как победить это, вернее как узнать что набрал пользователь, не выходя с этого поля?
тупое решение:
m.x = EVAL(.ControlSource)
делай с этим что-то
ZenTigra
На форме есть объект Textbox, ControlSource которого переменная, в это поле вводят текстовую информацию,
необходимо не выходя с этого поля проверить его по нажатию клавиши, например F5.
Но когда обрабатываю нажатие этой клавиши в методе KeyPress - переменная пустая, только при выходе с этого поля, она заполняется данными, которые ввели, как победить это, вернее как узнать что набрал пользователь, не выходя с этого поля?
У тебя видимость переменной какая?
переменную объявляю, еще до открытия формы, так что с этим проблем не должно быть ZenTigraВ том то и дело, что Value тоже пустое.
Ну сделай элементарный пример.
Фантастику рассказываешь)
Все работает, смотри вложение.
Ищи где и что еще.
Пропустил про переменную.
Не надо так делать. Не надо никаких пабликов. Передай ее как параметр, и обо всем забудешь.
Извиняюсь, не пустое свойство Value, а куда я тогда смотрел.
Все вопрос снят.
1) This.Value изнутри KeyPress текстбокса видит текущее значение в элементе управления - ещё НЕ сохранённое в его ControlSource (т.к. фокус не покинул поля), и которое может и не сохранится никуда, если пользователь нажмёт Esc.
2) НЕ НУЖНО привязывать текстбокс к переменной. Т.к. такая переменная должна быть public или как минимум private в точке вызова формы плюс сама форма тогда должна быть модальной. И то и другое откровенный г*нокод. От public переменных (тем паче что это скорее всего какая-то "настройка" программы) нужно избавляться заменяя их на свойства объектов, а для взаимодействия с локальными переменными (при использовании модальной формы для изменения их значений) не следует делать привязку через ControlSource.
В чём же причина такого поведения? Об этом расскажу дальше. Рассмотрим открытие и закрытие форм на примерах.
Открываем и закрываем форму из другой формы
Чтобы открыть Form2 нам необходим следующий код, который будет срабатывать при нажатии на кнопку:
Теперь у нас открылась Form2 и спряталась Form1. Поработав с Form2 мы её закрываем и при этом нам надо после этого отобразить Form1. Многие начинающие, включая меня начинают писать следующий код, который помещаем в событие, которое происходит после закрытия Form2:
Вроде всё логично: Form2 закрылась, Form1 открылась. Однако используя этот метод, мы можем заметить, что после того как мы закрываем приложение оно продолжает висеть в памяти. Многие, не зная почему это происходит дописывают в метод «Form1_FormClosed» дописывают принудительное закрытие приложения:
Это работает, однако правильно ли это? Решать вам.
А теперь ответим на вопрос «почему приложение висит в памяти» и рассмотрим простое и правильное решение.
Первая часть кода: мы отображаем Form2 и скрываем Form1. Не закрываем, а именно скрываем, т.е. экземпляр Form1 продолжает существовать.
Закрыть Form1 вместо скрытия не получится, так как это главная форма приложения и при её закрытии мы закроем всё приложение.
Вторая часть кода: строкой «Form ifrm = new Form1();» мы создаём второй экземпляр Form1 и далее его и отображаем, а первый экземпляр Form1 продолжает жить в памяти. И когда мы закрываем приложение (Form1), то первый экземпляр при этом не закрываем он так и «сидит» в памяти, поэтому приложение не выгружается из памяти. В связи с этим многие и закрывают принудительно приложение при закрытии главной формы (Form1).
Сейчас мы с вами рассмотрим правильный код, который не будет создавать второй экземпляр Form1 и отображать его, а будет отображать скрытую до этого Form1.
Теперь при закрытии Form2 у нас будет вызываться и отображаться та форма, которая породила закрывающуюся.
Учитываем координаты форм при открытии
Представьте ситуацию. Открыта Form1 вы её перемещаете в правый верхний угол экрана. Потом нажимаете на кнопку и… Form2 открывается по центру экрана или в другом месте, но не в том месте, где была Form1. Многие улыбнуться и скажут, что в свойствах Form2 надо прописать/указать следующее «StartPosition -> CenterParent» и открывать Form2 следующим методом:
Form ifrm = new Form2();
ifrm.ShowDialog();
Это правильное решение, которое всегда будет открывать Form2 поверх Form1 и всегда по центру Form1. Однако этот код не применим, если вам надо скрывать Form1, так как Form1 не будет скрываться.
Сейчас приведу полное решение, которое позволит открывать Form1 и Form2 в той же точке, где находилась до этого форма, вызывающая другую форму. Код включает всё вышеописанное. В свойствах форм надо прописать следующее (прямо в студии выбираете эти значения):
Теперь вы не создаёте второго экземпляра Form1 и приложение всегда будет закрываться, не оставаясь в памяти.
Открываем форму поверх другой формы, как модальное окно
Чтобы открыть Form2 поверх Form1, как модальное окно, не скрывая Form1, вам хватит этого кода:
В итоге Form2 будет открыта поверх Form1. В этом случае пользователь не сможет переключиться на Form1 не закрыв Form2.
Читайте также: