Aunque parezca mentira, no existe en C# un diálogo para pedir un dato. Si no tienes ganas de crear tu propio diálogo y no necesitas personalización, puedes hacer uso de la sentencia InputBox que se encuentra en el ensamblado Microsoft.VisualBasic
Esta sentencia muestra un diálogo modal con una etiqueta, una caja de texto, un botón para aceptar y otro para cancelar.

La definición de la sentencia InputBox es la siguiente:

       
public static string InputBox(
        string Prompt,
string Title,
string DefaultResponse,
int XPos,
int YPos)
  • Prompt: Mensaje del diálogo.
  • Title: Opcional. Título del diálogo.
  • DefaultResponse:  Opcional. Respuesta por defecto.
  • xPos: Opcional. Coordenada X, por defecto centrado
  • yPos: Opcional. Coordenada Y, por defecto centrado

Pasos para añadir InputBox en C#

1. Agregar la referencia al ensamblado Microsoft.VisualBasic:

Cómo añadir un InputBox en C# - 1

Cómo añadir un InputBox en C# - 2

2. Añadir la sentencia:

private void btnClickInputBox_Click(object sender, EventArgs e)
{
    string texto = Microsoft.VisualBasic.Interaction.InputBox(
        "Texto de la pregunta",
        "Titulo del diálogo",
        "Respuesta por defecto");
}

Nota: si el usuario cancela el diálogo la sentencia retorna una cadena vacía.

El resultado es:

Cómo añadir un InputBox en C# - 3