2016-08-22 11 views
1

私はコーディングが初めてです。なぜ私のテキストボックスがC#を使ってWindowsフォームにテキストを表示しないのか分かりません。ここに私のコードです。テキストボックスが予想通りにテキストを表示しない

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の同じインスタンスを使用します

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

が登場です。主な意志は、次のように変更もしそうなら

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

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

かではなく、コンストラクタの意志は次のようになりますmyTextPanel方法、のためだけでなく、コンストラクタを利用することができます

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

テキストが表示されない理由と追加のヘルプを提供してくれていることの質問に答えることに感謝します。最初のコードスニペットにApplication.Runを追加すると、別のForm1が作成されます。したがって、テキストなしのForm1の空白が表示され、テキストとともに別のForm1が表示されます。 myTestObject.myTextPanel( "hello")を使用するForm1を1つだけ使用したいと思います。コード行を変更せずに別の行を使用できるようにするmyTestObject.myTextPanel( "GoodBye"); textBox1の出力を更新します。 – Hester

関連する問題