Руководство по использованию элемента управления TextBox в C#
Автор: Сэм Аллен (Sam Allen) Требуется предоставить пользователям способ вводить буквы в программу Windows Forms на основе языка программирования C#. В системе Windows Forms имеется полезный элемент управления TextBox, который включается в установки .NET, и начать с ним работу довольно просто. Здесь мы продемонстрируем, как можно приступить к использованию элемента управления TextBox в программе Windows Forms с помощью C# и конструктора Visual Studio, рассмотрев несколько распространенных ситуаций, а затем покажем, как можно получить доступ к его тексту в коде C# и сохранить его в файл. Общие сведения об элементе управления TextBox В первую очередь мы изложим некоторые основные сведения об элементе управления TextBox и о программах Windows Forms, которые принимают ввод текста от пользователей. Платформа .NET Framework обеспечивает чтение ключей и отображение этого текста на экране для пользователей. Однако она не делает ничего для принятия текста. Необходимо будет получить доступ к тексту из элемента управления TextBox с помощью настраиваемых логических правил. При программировании графического пользовательского интерфейса будут обрабатываться настраиваемые события, предоставляемые TextBox, чтобы определить, когда следует выполнять логические правила. Свойство Text элемента управления TextBox. Элемент управления TextBox в Windows Forms предоставляет общее свойство экземпляра с именем Text, которое возвращает строку, представляющую точные символы, содержащиеся в TextBox, в любое время. Доступ к свойству Text можно получить в любое время, а отслеживать изменения этого свойства можно с помощью события TextChanged. Добавление важных обработчиков событий Отметим, что в интегрированной среде разработки Visual Studio символ молнии обозначает обработчики событий. Программы Windows Forms в основном строятся на основе событий, что означает, что можно использовать значок молнии в диалоговом окне свойств для добавления наиболее важных обработчиков событий. Эта статья построена на основе Visual Studio 2008. Некоторые наиболее часто используемые события. Наиболее полезные обработчики событий в элементе управления TextBox перечислены в окне свойств в Visual Studio. Если не удается найти окно свойств, последовательно выберите в меню пункты "View" ("Вид") и "Properties Window" ("Окно свойств"). Увидев обработчик событий, который требуется добавить, дважды щелкните в этой строке окна свойств. Если требуется присоединить обработчик событий к методу, который уже существует в программе, используйте раскрывающееся меню в окне свойств. Сигнатуры метода должны быть совместимы. Использование события TextChanged В этой части руководства будет рассматриваться использование события TextChanged для модификации другой части программы, когда пользователь вводит текст в TextBox. Следует отметить, что событие TextChanged активируется только в том случае, когда текст изменяется на другой, а не на тот же самый по каким-либо причинам. Эта программа назначает в качестве текста заголовка базового окна текст, введенный пользователем в TextBox. Таким образом заголовок базового окна отражает ввод пользователя. Панель задач Windows также будет показывать этот текст. Программа, которая использует TextBox и событие TextChanged (C#)
Добавление события TextChanged. Чтобы добавить обработчик события TextChanged в TextBox, дважды щелкните TextBox в конструкторе Windows Forms. Можно также добавить этот обработчик события вручную, введя код C# в конструктор Form1(). Кроме того, для создания или назначения обработчика события TextChanged можно использовать строку TextChanged в окне свойств. Обнаружение событий нажатия клавиш Здесь мы рассмотрим, как можно читать события нажатия клавиш в элементе управления TextBox в Windows Forms с помощью языка C#. Система Windows Forms предоставляет несколько событий на основе нажатия клавиш, и в данном руководстве используется обработчик события KeyDown, который вызывается перед тем, как значение клавиши отобразится в TextBox. Так же в обработчике события KeyDown можно отменять событие нажатия клавиши, хотя это не демонстрируется. При нажатии клавиши ВВОД программа будет отображать оповещение, а при нажатии клавиши Escape отображать другое предупреждение. Класс Windows Forms, использующий KeyDown в TextBox (C#)
Перечисление Keys. Платформа Windows Forms предоставляет перечисление Keys, которое можно использовать для проверки отдельных значений клавиш. Один из простейших способов проверки клавиш — ввести "Keys" и нажать точку, а затем использовать функцию IntelliSense в Visual Studio для просмотра всех возможных значений клавиш. Поскольку значение KeyCode относится к типу перечисления Keys, его также можно использовать как переключающее вычисляемое выражение для убыстрения кода. Отображение сообщений и диалоговых окон. Приведенный выше текст класса демонстрирует метод MessageBox.Show, являющийся самым простым способом отображения диалогового окна в системе Windows Forms. На этом сайте имеется руководство по методу MessageBox.Show, которое было представлено на официальном сайте Microsoft Windows Forms. См. примеры MessageBox.Show в Windows Forms. Использование многострочного текстового поля Здесь мы рассмотрим, как можно использовать логическое свойство Multiline в элементе управления TextBox в Windows Forms для создания области ввода длинного текста. Для ресурсоемких приложений элемент управления TextBox может оказаться недостаточным, и существуют проблемы производительности с очень большими объемами текста, но для коротких многострочных полей ввода это удобно. В следующих частях данного руководства будет показано, как сохранять содержимое многострочного текстового поля в файл на диске. Использование TextBox с кнопкой. На приведенном здесь снимке экрана показан элемент управления TextBox, измененный в конструкторе таким образом, что его свойство Multiline имеет значение true. Кроме того, в форме имеется элемент управления "Кнопка" с текстом "Save". В следующем разделе будет показано, как использовать эту кнопку Save для записи текста в файл. Сохранение содержимого TextBox в файлах Здесь мы покажем, как можно заставить элемент управления TextBox делать нечто полезное в реальной программе: записывать файл на диск. В сущности это примитивный текстовый процессор, но пока не следует использовать его для записи чего-либо важного. После добавления многострочного элемента управления TextBox можно добавить кнопку, а затем дважды щелкнуть эту кнопку в конструкторе, чтобы добавить обработчик событий button1_Click. В этом обработчике событий можно получить доступ к свойству Text элемента управления TextBox и записать его на жесткий диск. Программа Windows Forms, записывающая текст из TextBox (C#)
Возможный записанный файл (соответствует снимку экрана) This is some text written for the textbox tutorial in the site dotnetperls.com Руководство по записи текстовых файлов. В примере метода содержится вызов метода File.WriteAllText из пространства имен System.IO в библиотеке базовых классов платформы .NET Framework. Этот метод будет принимать строковые данные, на которые указывает строковая ссылка, возвращаемая свойством Text, и затем в действительности записывать их на физический жесткий диск компьютера. После выполнения этой программы можно открыть файл "demo.txt", и в нем будет текст, введенный в программу. Дополнительные статьи В этом разделе приведены некоторые дополнительные сведения по элементу управления TextBox в Windows Forms, которые можно найти на этом веб-сайте. В большинстве программ Windows Forms элементы управления и обработчики событий взаимно связаны, поэтому полезно изучить как можно больше элементов управления. Кроме того, часто существует несколько способов выполнения задачи с помощью обработчиков событий, и некоторые способы лучше других. Эти статьи помогут принять решение. См. описание метода TextBox.AppendText. См. описание шрифтов Segoe UI и Tahoma в Windows Forms. См. описание использования подсказок в Windows Forms .NET. Свойства элемента управления TextBox В этом разделе приведены некоторые наиболее важные свойства элемента управления TextBox в Windows Forms. В языке программирования C# свойства — это логически общедоступные переменные, которые обычно можно получать или устанавливать во внешнем коде. Свойства могут содержать исполняемый код (пока не написанный). СобытияTextBox. В этом разделе приведены некоторые наиболее полезные события в элементе управления TextBox в Windows Forms. События рассматриваются как свойства в языке программирования C#, но содержат методы доступа add и remove, получающие типы делегатов, которые должны соответствовать необходимой сигнатуре делегата. (Пока не доступно.) Выводы В этом руководстве рассматривалось использование элемента управления TextBox в системе Windows Forms, предоставляемого как часть платформы .NET Framework, в языке программирования C#. Этот элемент управления предоставляет пользователю высокоэффективный способ ввода текста с помощью клавиатуры или другого устройства ввода и получения этого текста непосредственно в программе C# в управляемом коде. В элементе управления TextBox имеется свойство Text, с помощью которого можно легко получить доступ к тексту, введенному в программу. Было показано, как можно добавлять обработчики событий, использовать событие TextChanged, обнаруживать нажатия конкретных клавиш в TextBox, использовать многострочный TextBox и записывать содержимое TextBox в файл. |