Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.VisualBasic;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Diagnostics;
- public sealed class Form1 : Form {
- private string choosen; // choosen answer
- private bool closingRequested; // petición de cierre del Form
- private void Form1_Shown(object sender, EventArgs e) {
- textfilePath = ...; // ruta del archivo con preguntas y respuestas.
- // por cada linea del archivo de texto...
- foreach (string line in File.ReadAllLines(textfilePath)) {
- string q; // question
- string[] a; // answers
- q = ...; // asignar pregunta.
- a = {...}; // asignar un array con las respuestas predefinidas.
- // mostrar la pregunta y respuestas en los controles de la UI.
- this.LabelQ.Text = this.q;
- this.ListBoxA.Items.AddRange(this.a);
- this.choosen = string.Empty; // eliminar cualquier previa respuestas seleccionada.
- // mientras que this.choosen sea una cadena de texto vacía
- // o dicho de otro modo, mientras que no se haya seleccionado ninguna respuesta...
- while (!(!string.IsNullOrEmpty(this.choosen))) {
- // Procesar el resto de eventos de la aplicación.
- // Esto no es una muy buena práctica, pero no conviene introducirte en metodologías asíncronas al nivel actual de conocimiento,
- // ya que te resultaría más dificil de comprender e implementar.
- Application.DoEvents();
- // Si el usuario hizo una petición de cerrar el form...
- if ((this.closingRequested)) {
- // Finalizar el búcle para no seguir procesando los eventos de la aplicación
- // (y así permitir el cierre instantaneo).
- break;
- }
- }
- }
- }
- // OK_Button.Click Event-handler.
- private void OK_Button_Click() {
- // Cuando se hace "click" en el botón OK,
- // asigno la respuesta seleccionada en el ListBox.
- this.choosen = this.ListBoxA.SelectedItem.ToString();
- }
- // Cancel_Button.Click Event-handler.
- private void Cancel_Button_Click() {
- // Cuando se hace "click" en el botón CANCEL,
- // cierro el form (para finalizar la aplicación).
- this.Close();
- }
- // Form1.FormClosing Event-handler.
- private void Form1_FormClosing() {
- // Este evento se dispara cuando se intenta cerrar el form.
- // asigno una petición de cierre del Form.
- // (vease el "break" del búcle do-while de arriba)
- this.closingRequested = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement