Как я могу получить информацию, напечатанную в TextBox? - PullRequest
0 голосов
/ 15 января 2020

Я хочу использовать информацию, введенную в TextBox, в будущей части этой программы. Эта программа настраивает все это в форме, и когда я набираю что-то в текстовое поле и нажимаю клавишу Enter, он переходит к строке 32, Console.WriteLine, правильно и показывает процитированную часть «здесь делать вычисления», но не значение, txtFolder, набирается внутри TextBox.

using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

public class MainForm : Form {

  private TextBox txtFolder;

  // set up the window
  public MainForm() {
    InitializeComponents();
  }

  private void InitializeComponents() {
    this.Text = "Textbox";
    Width = 500;

    // get textbox entry
    Label sbfldr           = new Label();
    sbfldr.Location        = new Point(10,140);
    sbfldr.Size            = new Size (315,20);
    sbfldr.Text = "Enter something into textbox and press the ENTER key";
    this.Controls.Add(sbfldr);
    TextBox txtFolder      = new TextBox();
    txtFolder.Location     = new Point(325,139);
    txtFolder.KeyUp += getFolder;
    txtFolder.Parent = this;
    this.Controls.Add(txtFolder);
  }

  private void getFolder(object sender, KeyEventArgs e) {
    if (e.KeyCode == Keys.Enter) {
      Console.WriteLine("do calculations here "+txtFolder);
      e.Handled = true;
    }
  }

  public class Program {
    public static void Main(string[] args) {
      Application.Run( new MainForm() );
    }
  }
}

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Изменить это:

Console.WriteLine("do calculations here "+txtFolder);

На это:

Console.WriteLine("do calculations here "+txtFolder.Text);
0 голосов
/ 15 января 2020

Вы можете получить значение TextBox, используя свойство Text:

string myValue = myTextBox.Text;

В вашем коде вы получите следующее:

Console.WriteLine("do calculations here " + txtFolder.Text);

Вот документация для TextBox.Text

...