C# предлагает разработчику удобный класс MessageBox в пространстве имён System.Windows.Forms. Однако ориентирован он исключительно на диалоговые окна вывода различного рода сообщений. Диалоговых окон ввода данных (InputBox) не предусмотрено. Странная асимметрия. А ведь получать данные от пользователя приходится почти в каждом проекте! Конечно, можно создать собственный класс диалогового окна и реализовать весь необходимый функционал. Но гораздо быстрее и проще в условиях ограниченности времени использовать InputBox из сборки Microsoft.VisualBasic.dll. Подключив сборку к проекту, можно написать в тексте программы
var s = Interaction.InputBox("Text", "Caption", "Value", posX, posY);
Первые три параметра имеют формат строки. Последние два в формате целого числа управляют расположением окошка на экране монитора. Это очень важные параметры, так как InputBox не предлагает никаких средств для привязки его к родительскому окну. Поэтому, чтобы окошко не появлялось на экране где попало используется его позиционирование. Значение введённое пользователем возвращается функцией InputBox в виде строки.