Во-первых, вы, как правило, не должны обращаться к элементам управления, таким как текстовые поля, из вашего класса Program.Вместо этого вы должны сделать это в файле Form1.cs.Form1 является классом, и у него есть защищенное поле для textBox2, поэтому он недоступен вне класса.Если вы хотите изменить значение из Program.cs, вы должны добавить публичную функцию в Form1, которая устанавливает значение textBos2.Text.
Во-вторых, вы, похоже, просто набираете имена классов вместо имениэкземпляр.Разница в том, что Textbox - это класс, textBox1 и textBox2 - это экземпляры.Textbox.Text недопустим, потому что вам нужно указать, для какого текстового поля вы пытаетесь получить или установить текст.То же самое с Form1.textBox2.Form1 - это класс, и их может быть много.Вы должны указать имя экземпляра формы для доступа к его открытым членам.
ОБНОВЛЕНИЕ:
Я просто собираюсь дать вам краткое объяснениеРазница между классом и экземпляром класса, статические поля и нестатические поля.Прошу прощения за любую многословность.
Когда вы создаете новое приложение Windows Forms, Visual Studio создаст для вас тип Form1.Form1 это класс.Затем программа использует Form1 для создания экземпляра формы и его отображения.Код будет выглядеть примерно так:
Form1 form = new Form1;
В этом случае форма является экземпляром.Вы можете создать несколько экземпляров Form1.Каждый экземпляр будет иметь созданный вами textBox2, который является экземпляром класса Textbox.Точно так же, как вы должны сделать textBox2.Text, чтобы получить текст второго текстового поля, которое вы создали в форме, вы должны указать form.textBox2 (или ваш публичный метод, который устанавливает значение textBox2.Text).Form1, хотя у него есть номер после класса, а форма - это экземпляр.Они имеют те же отношения, что и Textbox и textBox2.
Нестатические члены доступны для экземпляра.Статические члены доступны для класса.Статический член не может получить доступ к нестатическому члену, если он не через экземпляр.