Advertisement
Guest User

Untitled

a guest
Nov 30th, 2015
137
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using Microsoft.VisualBasic;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Diagnostics;
  7.  
  8. public sealed class Form1 : Form {
  9.  
  10.     private string choosen; // choosen answer
  11.     private bool closingRequested; // petición de cierre del Form
  12.  
  13.     private void Form1_Shown(object sender, EventArgs e) {
  14.        
  15.         textfilePath = ...; // ruta del archivo con preguntas y respuestas.
  16.  
  17.         // por cada linea del archivo de texto...
  18.         foreach (string line in File.ReadAllLines(textfilePath)) {
  19.            
  20.             string q; // question
  21.             string[] a; // answers
  22.  
  23.             q =   ...; // asignar pregunta.
  24.             a = {...}; // asignar un array con las respuestas predefinidas.
  25.  
  26.             // mostrar la pregunta y respuestas en los controles de la UI.
  27.             this.LabelQ.Text = this.q;
  28.             this.ListBoxA.Items.AddRange(this.a);
  29.  
  30.             this.choosen = string.Empty; // eliminar cualquier previa respuestas seleccionada.
  31.  
  32.             // mientras que this.choosen sea una cadena de texto vacía
  33.             // o dicho de otro modo, mientras que no se haya seleccionado ninguna respuesta...
  34.             while (!(!string.IsNullOrEmpty(this.choosen))) {
  35.                
  36.                 // Procesar el resto de eventos de la aplicación.
  37.                 // Esto no es una muy buena práctica, pero no conviene introducirte en metodologías asíncronas al nivel actual de conocimiento,
  38.                 // ya que te resultaría más dificil de comprender e implementar.
  39.                 Application.DoEvents();
  40.  
  41.                 // Si el usuario hizo una petición de cerrar el form...
  42.                 if ((this.closingRequested)) {
  43.                     // Finalizar el búcle para no seguir procesando los eventos de la aplicación
  44.                     // (y así permitir el cierre instantaneo).
  45.                     break;
  46.                 }
  47.  
  48.             }
  49.         }
  50.     }
  51.  
  52.     // OK_Button.Click Event-handler.
  53.     private void OK_Button_Click() {
  54.         // Cuando se hace "click" en el botón OK,
  55.         // asigno la respuesta seleccionada en el ListBox.
  56.         this.choosen = this.ListBoxA.SelectedItem.ToString();
  57.     }
  58.  
  59.     // Cancel_Button.Click Event-handler.
  60.     private void Cancel_Button_Click() {
  61.         // Cuando se hace "click" en el botón CANCEL,
  62.         // cierro el form (para finalizar la aplicación).
  63.         this.Close();
  64.     }
  65.  
  66.     // Form1.FormClosing Event-handler.
  67.     private void Form1_FormClosing() {
  68.         // Este evento se dispara cuando se intenta cerrar el form.
  69.         // asigno una petición de cierre del Form.
  70.         // (vease el "break" del búcle do-while de arriba)
  71.         this.closingRequested = true;
  72.     }
  73.  
  74. }
Advertisement
RAW Paste Data Copied
Advertisement