2016-03-20 10 views
0

C#フォームでは、他のクラスのフォームにコントロールを追加したいと思います。他のクラスからフォームにコントロールをアタッチする#

どうすればいいですか?

他のクラスの関数の仮パラメータとしてフォームを渡そうとしましたが、フォームにどのように追加できますか?また

class Class1 
{ 
    System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox(); 
} 

、私はForm1にTXTを追加したいのForm1.cs

を持っています。また

は、私はクラス1からTXTのプロパティを設定したいと思い、それが失敗した...

感謝を!これは動作するはず

+0

新しいTextBoxインスタンスを返すメソッドを簡単に追加できます。しかし、適切な場所に移動したり、適切なタブのインデックスを付けたりすることで、すぐに狙ったことがあります。 UIは一番上の犬です、あなたのフォームは簡単にあなたのクラスを使用することができます。あなたのクラスがフォームを使用することは、それが問題です。それをしないでください。 –

答えて

1

class Class1 
{ 
    System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox(); 

    public void AddTextBoxToForm(Form form) 
    { 
     form.Controls.Add(txt); 
     txt.Text = "Hello World! I've been added to a form."; 
    } 
} 

をまたTextBoxLocationSizeなどのプロパティを設定することができます。ただし、異なるフォームにTextBoxを追加することは悪い考えです。

エラーが発生した場合は、「失敗した」ということを具体的に質問する必要があります。


一般に、Formのすべてのコントロールは、むしろそのFormのメンバーであるべきであり、他のクラスで定義されていません。

関連する問題