Программы Windows не работают так, как вы ожидаете.
Вы запускаете цикл приложения Application.Run(form)
, а затем, когда он заканчивается, вы пытаетесь получить значения текстового поля.
Вы не можете сделать это в программе Windows.
Application.Run(form)
будет блокироваться, пока окно не закроется или цикл сообщений не закончится.
Следовательно, вам нужно переместить код, связанный с вашими текстовыми полями, в вашу форму.
Поместите кнопку в форму и вставьте код текстового поля в событие нажатия кнопки. Используйте вызов MessageBox.Show для отображения того, что было введено.
Я попытался продемонстрировать это здесь (вам нужно более подробно объяснить часть c ++):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UpdaterForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
String text1 = textBox1.Text;
String text2 = textBox2.Text;
String text3 = textBox3.Text;
string text = text1 + "." + text2 + "." + text3;
MessageBox.Show(text);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UpdaterForm
{
public class UpdaterForm
{
public string PickText( )
{
Form1 form = new Form1();
try {
Application.Run(form);
} finally {
form.Dispose();
}
}
}
}