2012-02-22 9 views
1

色をランダムに変更するパネルのグリッドで構成されたJavaで作成したスクリーンセーバーを再作成しようとすると、初めてC#に潜入しました。これまでのところ、パネルが機能するようになったので、レイアウトにプロトタイプを作成するためにFormに追加しようとしています。私は実行時に表示されるパネルの数を決定する予定です(16:9,4:3、16:10などでスクリーンセーバーを見栄え良くすることができます)。しかし、私が検索した唯一の方法フォームに要素を追加するインターネットは、Visual Studioのデザインツールを使用します。したがって、私はいくつかの質問があります:実行時にC#のフォームにパネルを追加する

フォームのレイアウトをJavaのGridLayoutと同じように設定するにはどうすればよいですか?

要素をフォームに追加するために必要なコードは何ですか?

フォームのの代わりにを使用すると良いことはありますか?

+0

私はあなたがWindowsフォームについて話していると思っていますが、もしあなたが私たちに言うなら、私は推測する必要はありません。 –

+0

はい、Windowsフォーム。混乱をおかけして申し訳ありません。 – bionicOnion

答えて

4

デザイナーと同じ方法でパネルを実行時にフォームに追加し、Panelを構築してフォームに追加することができます(this.Controls.Add(thePanel);経由)。

適切なコードを確認する最も簡単な方法は、デザイナーを使用してフォームにパネルを追加し、「YourForm.designer.cs」ファイルを開くことです。デザイナーは必要なコードを生成するだけですが、デザイナーが作成するものを複製するために必要な正確なコードを見ることができます。

レイアウトに関しては、Layout Techniques for Windows Forms Developersビデオを見てみることをおすすめします。それはあなたがレイアウトに利用できる様々なオプションについていくつかの良い手がかりを与えるかもしれません。 JavaのGridLayoutとまったく同じものはありませんが、open source projects that attempt to duplicate this functionalityがあります。

0

TableLayoutPanelかその行に沿ったものを使用します。次に、Controlsプロパティを使用してパネルをパネルに追加できます。

3

これを機能させるには、フォームアプリケーションを作成する必要があります。さらに、デザイナに表示されるすべてのコントロールをプログラムで追加できます。

あなたは、必要に応じて新しいパネルをクランクメソッドを持つことができます....

ここでは、新しいパネルを作成するコードです:それが宣言されている

Panel panel1 = new Panel(); 

たら、アクセスすることができますすべてのプロパティ。

myform.controls.add(panel1); 

だから、あなたのパネルをフォーマットし、フォームTORそれを返すか、追加するメソッドを作成することができ、ことを知っている....あなたはこのような何かをするだろうフォームにパネルを追加するには....

関連する問題