2016-08-22 2 views
1

Я новичок в кодировании. Я не могу понять, почему мое текстовое поле не отображает текст в окнах с использованием C#. Вот мой код.Текстовое поле не преобразует текст, как ожидалось

public partial class Form1 
{ 
    [STAThread] 
    static void Main() 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 

     Form1 myTestObject = new Form1(); 
     myTestObject.myTextPanel("hello"); 
    } 

    public void myTextPanel(string myText) 
    { 
     // Windows Forms textBox1 
     textBox1.Text = myText; 
    } 
} 
+0

Я отправил ответ ниже, Не могли бы вы взглянуть, дайте мне знать, если вам нужны подробности или объяснения ..! –

ответ

2

Вы работаете экземпляр Form1, а затем создать новый экземпляр одного и того же (имейте в виду как разные инстанции) и присвоения значений. Вы можете попробовать это:

Form1 myTestObject = new Form1(); 
myTestObject.myTextPanel("hello"); 
Application.Run(myTestObject); 

, который будет использовать тот же экземпляр Form1, так что вы можете увидеть текст появляется; Вы можете использовать конструктор, а, вместо этого метода myTextPanel, конструктор будет выглядеть следующим образом:

public void Form1(string myText) 
{ 
    // Windows Forms textBox1 
    textBox1.Text = myText; 
    // Do something 
} 

если да основной будет изменен так:

Form1 myTestObject = new Form1("hello"); 
Application.Run(myTestObject); 

или например:

Application.Run(new Form1("hello")); 
+0

Спасибо, что ответили на мой вопрос о том, почему текст не отображается и не предлагает дополнительную помощь. Когда вы добавляете Application.Run в свой первый фрагмент кода, он создает еще один Form1. Таким образом, он будет отображать Form1 пустым без текста, тогда он отобразит другой Form1 с текстом. Я хотел бы использовать только один Form1, который будет использовать myTestObject.myTextPanel («привет»); строка кода немодифицирована и иметь возможность использовать другую строку myTestObject.myTextPanel («GoodBye»); для обновления вывода textBox1. – Hester

Смежные вопросы