Windows предоставляет несколько основных API для рисования на экране. Вы можете рисовать пиксели, линии, прямоугольники и более сложные геометрические фигуры. Есть также API для рисования текста. Другие API позволяют реагировать на ввод пользователя, например, движение мыши и щелчки и ввод с клавиатуры.
Из этих основных API вы можете создать свое собственное текстовое поле, рисуя точные пиксели того, как текстовое поле должно выглядеть и реагировать на ввод пользователя. Однако в Windows есть встроенная концепция текстового поля. Это текстовое поле имеет стандартный внешний вид, а также интегрировано с такими понятиями пользовательского интерфейса, как фокус, порядок вкладок, буфер обмена и курсор. Но за кулисами Windows использует низкоуровневые API-функции для рисования на экране и реагирования на ввод пользователя.
Когда вы создаете TextBox в Windows Forms, он фактически создает и оборачивает стандартную Windows Edit control . Этот элемент управления рисуется с использованием GDI. Однако другие модели программирования, такие как WPF, могут создавать элементы управления TextBox , которые выглядят как обычные текстовые поля, но используют пользовательскую реализацию, предоставленную WPF, и отрисовываются с использованием DirectX.