C#) — Заполнение переменных класса из TextBox


лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

VC++ №3. Арифметические вычисления с помощью TextBox

Элемент управления TextBox (текстовое поле)

Целью работы является знакомство с элементами управления visual c++ textbox и button — текстовое поле и кнопка.

Данное приложение — это практически стандартное и самое первое задание на программирование с++ hello world, но с расширенными возможностями.

Инструментарий:

объект свойство name свойство text
форма Вычисление суммы
кнопка (button) btnExit Выход
текстовое поле (textbox) txtA
текстовое поле (textbox) txtB
текстовое поле (textbox) txtC
текстовое поле (textbox) txtSumma
кнопка (button) btnCount Вычислить

Выполнение:

  1. Внимание! Называйте все объекты согласно правилам именования объектов, принятых в C++. В скобках будет указан возможный вариант для имени создаваемого объекта.
  2. Создайте новый проект (CLR →ПриложениеWindowsForms), назовите проект Вычисление, а его форму — frmSumma.
  3. Создайте и запрограммируйте на форме кнопку Выход (btnExit) :

this-> Close();

  1. Создайте три элемента управления Textbox (txtA,txtB,txtC) для слагаемых. Задайте свойство Text для этих элементов управления, равное .
  2. Создайте еще один элемент управления TextBox (txtSumma) (размеры и расположение кнопок см. рис «форма Вычисление_суммы»).
  3. Создайте кнопку Вычислить (btnCount).
  4. Запрограммируйте событие Click для кнопки Вычислить следующим образом:

private: System::Vo >txtA->Text)+ System::Int32::Parse(this->txtB->Text)+ System::Int32::Parse(this->txtC->Text); // system можно опустить this->txtSumma->Text=summa.ToString(); >

где System – пространство имен; при написании кода его можно опустить
Parse – функция преобразования строкового значение в целое число;

  1. Запустите приложение, введите значения для слагаемых и посмотрите, что произойдет, если Вы нажмете на кнопку Вычислить.
  2. Сохраните проект.
  • площадь треугольника по трем сторонам;
  • площадь прямоугольника по двум сторонам;
  • площадь треугольника по двум сторонам и углу между ними;
  • процент от числа.
  1. Какова основная функция элемента управления TextBox?
  2. Какая функция C++ округляет числовые значения?


скопировать значение textbox из одной формы в другую

5 ответов

Самый простой вариант это использовать public переменную.
Для этого в проекте создаём класс, а классе public переменную :

using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;

namespace ChangeTextBoxs
<
class MyClass
<
public static string strTextChangeN < get ; set ; >
>
>

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 ChangeTextBoxs
<
public partial class Form1 : Form
<
public Form1 ( )
<
InitializeComponent ( ) ;
frm2 = new Form2 ( ) ;
>
Form2 frm2 ;

private void btnShowForm2_Click ( object sender, EventArgs e )
<
frm2 . Show ( ) ;
>

private void textBox1_TextChanged ( object sender, EventArgs e )
<
My >. strTextChangeN = textBox1 . Text ;
>

private void textBox1_DoubleClick ( object sender, EventArgs e )
<
textBox1 . Text = My >. strTextChangeN ;
>

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 ChangeTextBoxs
<
public partial class Form2 : Form
<
public Form2 ( )

private void textBox1_TextChanged ( object sender, EventArgs e )
<
My >. strTextChangeN = textBox1 . Text ;
>

private void textBox1_DoubleClick ( object sender, EventArgs e )
<
textBox1 . Text = My >. strTextChangeN ;
>

Теперь при DoubleClick на textBox’ах текст будет меняться соответственно выбранного textBox’а.

C#) — Заполнение переменных класса из TextBox

Registred
Сообщений: 6
Регистрация: 8.4.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.598
Возраст: 25

как заполнить TextBox из переменной?

пытался использовать send и say.

Модератор UOPilot
Сообщений: 8.396
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25840
Пользователь №: 11.279

Registred
Сообщений: 6
Регистрация: 8.4.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.598
Возраст: 25

Модератор UOPilot
Сообщений: 8.396
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25840
Пользователь №: 11.279

слабо понимаю как может выглядеть этот пример. по сути

привязали окно
send траляля


вот собственно и все. про способы привязки окон можно почитать в теме «полезные советы». Самый простой способ ctrl+a по боксу.
вот сложный пример из готового скрипта не требующий участия пользователя:

Registred
Сообщений: 6
Регистрация: 8.4.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.598
Возраст: 25

допер, плохая документация у программы

макросом навожу курсор на Edit
set #var windowfromcursor //получаю хендл виджета

set workwindow #var //усе понятно

say Hello //туда пишем

Модератор UOPilot
Сообщений: 8.396
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25840
Пользователь №: 11.279

Registred
Сообщений: 6
Регистрация: 8.4.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.598
Возраст: 25

стал искать по всем функциям нашел

windowfromcursor — сразу по названию не скажешь что она возвращает хендл виджета под курсором, а может и тот что в фокусе(IMG:style_emoticons/default/smile.gif) в хелпе вообще ничего нет про нее, на форуме, здесь нашел, это и помогло и конечно твой ответ помог(IMG:style_emoticons/default/smile.gif) мало или вообще нет примеров в хелпе, и помоему лучше хелп делать в пдф или CHM, но это конечно если ты знаешь разработчиков(IMG:style_emoticons/default/smile.gif))

Модератор UOPilot
Сообщений: 8.396
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25840
Пользователь №: 11.279

Registred
Сообщений: 6
Регистрация: 8.4.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.598
Возраст: 25

Разработчик UO Pilot’а
Сообщений: 1.638
Регистрация: 9.1.2006
Группа: Модераторы
Наличность: 7262
Пользователь №: 4.688

а если хелп зотяб в том же экселе сделать? (IMG:style_emoticons/default/smile.gif) у него тама есть возможность
скрывать\показывать строки плюсиками слева от номеров строк
получится типа вложеных спойлеров (IMG:style_emoticons/default/smile.gif)

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

Модератор UOPilot
Сообщений: 8.396
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25840
Пользователь №: 11.279

Доступ к TextBox переменных из другого класса

У меня есть форма окна (C #). В форме пользователь вводит текст и затем сохранялся на XML. Каждый раз, когда начинается решение, он читает XML.

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

Это то, что у меня есть:

Я попробовал несколько вещей, но безуспешно. Из того, что я читал, тем «лучше» практика была бы создать интерфейс. Я пытался, но не мог заставить его работать. Я также попытался создать метод набора ПОЛУЧИТЬ для TextBox, но не мог заставить его работать. Я не уверен, куда он должен идти.

Спасибо за ваше время,

Вы экземпляр класса XmlController 2 раза.

это означает, что у вас есть 2 объекта одного и того же класса, но это разные объекты.


что вы должны сделать, это создать экземпляр класса один раз и использовать этот объект также для события button_Click (см код)

Если вы хотите получить доступ что-то из «вне» класса (форма класса), вам нужно быть Public.

С# Получить значение textBox из другого класса

Скажем, у меня есть форма с именем Form1 с textBox и кнопкой в ​​ней.

Я хочу получить значение textBox из другого класса при нажатии кнопки. Я пытаюсь сделать это так, но это не сработает:

Простите меня за тупой вопрос, но я довольно новичок в С# и не могу заставить эту работу работать.

Вам нужно найти открытый Form1 вместо создания другого Form1, создать следующий класс

Затем в методе нажатия кнопки

ваш textBox, вероятно, private , хотя это так и должно быть. Если вам нужен текст из текстового поля, вы можете открыть его с помощью свойства

C# Один обработчик на несколько текстбоксов.

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

В общем родилась такая идея. Создаем проперти вместо переменных, которые будут работать с объектами прикрепленными к текст боксам. К полю Tag каждого текст бокса прикрепляем свой класс содержащий Text для возможности вернуть «как было» если введено что-то не подобающее. и Value для значения переменной. А так же сеттер, чтобы там где требуется, отфильтровать значение на предмет попадания в диапазон. Создаем несколько вариантов дочерних классов с фильтрованными сеттерами. тогда получив из параметра sender обработчика события, объект вызвавший событие, мы сразу производим необходимые проверки и присвоения. Проверка на числа, пока сделана убого. Если вводится ошибочное значение, то тупо заменяется старым сохраненным, но это уже так сказать другая история не входящая в наше повествование ��

C# присвоить значение textbox переменной другого класса в другом файле

Я создал простую форму » люди «и есть еще один файл «информация».цезий»

В главном поле для присвоения переменной значения» txt_lname»

Затем я хочу использовать это значение в «information class» (это класс потока)

Как я могу его использовать ?

(Я прокомментировал место, где я хотел использовать это значение)

основная форма

Класс Информации

* Можно ли использовать значение переменной в методе run в классе thread ? если не может тогда почему ?

2 ответа

Сделать класс информации статическим

И в основной форме вы можете использовать его как


Но вам также нужно объявить LastName как свойство. Так что добавить

в ваш класс информации.

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

So позволяет создать и инициализировать экземпляр Information на форме:

Теперь вы можете передать материал в свой экземпляр Information . Но для этого нужен способ его передачи, или в данном случае Information нужен способ получения фамилии. Существует несколько способов сделать это, но общим подходом является предоставление LastName свойства на Information :

И теперь вы можете передать значение в LastName свойство:

Примечание: Если вы хотите выполнить метод run на Information вы будете делать это через экземпляр так же, как при установке LastName:

Компонент TextBox

Этот элемент управления является основным, предназначенным для ввода пользователем текстовых данных. Использовать TextBox можно в однострочном или многострочном режиме. Однако данный элемент управления имеет ограничение — до 64 килобайт текста. Если вам необходимо обрабатывать большие объемы информации, лучше использовать элемент RichTextBox.

К основным обработчикам событий данного компонента относят Key Press, который позволяет, например, ограничить тип вводимых значений в данное поле, и TextChanged, который выполняет какие-либо действия при вводе текста в область компонента TextBox.

Автозаполнение в TextBox: Справочник по C#

Дальше мы будем работать со свойствами AutoCompleteCustomSource, AutoCompleteMode и AutoCompleteSource нашего компонента. Эти свойства используются для автоматического заполнения входных строк путем сравнения вводимых префиксов с префиксами всех строк в поддерживаемом источнике, который мы создали выше.

Теперь по порядку:

Указываем свойству AutoCompleteCustomSource нашего компонента коллекцию source:

Чтобы компонент при вводе текста обращался к коллекции, в свойстве AutoCompleteSource задаем значение AutoCompleteSource.CustomSource, указывающее источник полных строк, используемых для автоматического заполнения.

Теперь нам остается только задать режим для возможности автоматического завершения, есть четыре режима:

  • None – Отключает возможность автоматического завершения в элементах управления ComboBox и TextBox.
  • Suggest – Выводит вспомогательный раскрывающийся список, сопоставленный элементу управления, в котором выполняется правка. Этот список содержит одну или несколько предложенных строк завершения.
  • Append – Добавляет остаток строки с наибольшей вероятностью совпадения в существующие знаки с выделением добавленных знаков.
  • SuggestAppend – Применяет как параметр Suggest, так и параметр Append.

Мы выберем SuggestAppend:

Ну вот и все, смотрите полный пример кода ниже:

VBA Excel. Элемент управления TextBox (текстовое поле)

Элемент управления пользовательской формы TextBox в VBA Excel. Использование текстового поля для ввода и вывода информации, основные свойства, примеры. Привязка текстового поля к ячейке.

Элемент управления TextBox

UserForm.TextBox – это элемент управления пользовательской формы, предназначенный для ввода, редактирования и вывода информации в текстовом формате.

Текстовое поле незаменимо, когда необходимо заполнить пользовательскую форму новой информацией. Например, это может быть ФИО нового сотрудника и его паспортные данные, сумма выручки за день, новый электронный адрес и многое-многое другое.

Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления TextBox использовать ListBox или ComboBox.


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

Иногда, если на пользовательской форме используется только одно текстовое поле и кнопка «OK» (или кнопки «OK» и «Отмена»), для ввода информации такую форму можно заменить функцией InputBox, а для вывода информации, когда не требуется редактирование отображаемого текста, – функцией MsgBox.

Свойства текстового поля

Свойство Описание
AutoSize* Автоподбор размера текстового поля. True – размер автоматически подстраивается под длину размещаемой строки. False – размер элемента управления определяется свойствами Width и Height.
AutoTab Включение автоматической табуляции – передачи фокуса следующему элементу управления при достижении максимального числа символов при значениях свойства MaxLenght > 0. True – автоматическая табуляция включена, False – выключена.
ControlSource Ссылка на источник данных для поля TextBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на TextBox.
Enabled Возможность ввода, редактирования, копирования, вставки, удаления текста. True – все перечисленные опции включены, False – выключены (цвет текста в поле становится серым).
Font Шрифт, начертание и размер текста в поле.
Height Высота текстового поля.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края текстового поля.
Locked Запрет ввода, редактирования, удаления текста. True – перечисленные опции запрещены (разрешено выделение и копирование текста), False – перечисленные опции разрешены.
MaxLenght Максимальная длина строки. По умолчанию – 0, что означает – ограничений нет.
Multiline Устанавливает многострочный (True) или однострочный (False) режим ввода-вывода текста.
PasswordChar Задает символ, который будет отображаться при вводе знаков пароля.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой свойством AutoTab или нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
Text** Текстовое содержимое (значение) поля (=Value).
TextAlign Выравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края текстового поля.
Value** Текстовое содержимое (значение) поля (=Text).
Visible Видимость текстового поля. True – TextBox отображается на пользовательской форме, False – TextBox скрыт.
Width Ширина текстового поля.
WordWrap Актуально при Multiline = True. Переход на новую строку при достижении границы текстового поля. True – переход включен, False – переход выключен.

* При использовании свойства AutoSize в значении True следует учитывать, что автоматическое изменение размеров поля при вводе текста может нарушить дизайн пользовательской формы.
** Text и Value — это два обозначения одного и того же свойства. Если в окне Properties элемента управления TextBox в поле свойства Text начать ввод строки, в поле Value ввод будет дублироваться. И наоборот, при вводе текста в поле свойства Value, дублирование произойдет в поле Text.

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

Свойства BackColor, BackStyle, BorderColor, BorderStyle отвечают за внешнее оформление текстового поля и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления TextBox на проекте пользовательской формы.

Привязка текстового поля к ячейке

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

1. В окне Properties элемента управления TextBox в поле свойства ControlSource необходимо указать адрес ячейки:

2. Присвоить свойству ControlSource адрес ячейки в коде VBA Excel:

UserForm1.TextBox1.ControlSource = «C5»

Теперь ячейка C5 активного листа будет привязана к элементу управления TextBox1. При открытии формы текстовое поле будет заполнено значением ячейки C5.

Чтобы наглядно ознакомиться с взаимозависимостью значения ячейки C5 и содержимого текстового поля, разместите на пользовательской форме еще какой-нибудь элемент управления и откройте ее в немодальном* окне:

Измените значение ячейки C5 и нажмите клавишу «Tab» или «Enter» – изменения будут продублированы в текстовом поле на форме. Измените содержимое поля TextBox1, нажмите клавишу «Tab» или «Enter», передав фокус другому элементу управления, – изменения продублируются в ячейке C5.

Чтобы привязать текстовое поле к ячейке неактивного листа, необходимо в адресе указать имя листа по ярлыку с разделителем «!»:

UserForm1.TextBox1.ControlSource = «Лист2!A3»

Если имя листа содержит пробел, заключите его в одинарные кавычки:

UserForm1.TextBox1.ControlSource = «‘Мой лист’!B6»

Точно также адрес ячейки конкретного листа можно указать непосредственно в окне Properties элемента управления TextBox в поле свойства ControlSource (без парных кавычек).

* Отображение пользовательской формы в немодальном окне позволяет редактировать ячейки на рабочем листе Excel, не закрывая форму.

Примеры использования TextBox

Пример 1
Обмен содержимым между текстовым полем, переменной и ячейкой на рабочем листе:

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

Предположим, что текстовое поле предназначено для ввода даты, поэтому добавляем соответствующую подсказку, а в качестве текста по умолчанию – текущую дату.

Создаем новую пользовательскую форму с именем UserForm2. Если у вас другое имя формы, это не имеет значения, так как обращаться к ней будем с помощью ключевого слова «Me». Открываем модуль созданной формы и вставляем в него следующий код VBA Excel:

В результате выполнения кода откроется следующая форма с всплывающей подсказкой при наведении на TextBox курсора:

* Значения свойств Left и Top рассчитаны для Excel 2020. Вычитаемые числа зависят от толщины границ пользовательской формы, которые в других версиях Excel могут отличаться.

Цукерберг рекомендует:  Особенности дизайна VR игр
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих