1

Visual C# 2008 IDE を使用して、C# で Windows フォーム アプリケーションを作成しています。
私のアプリケーションには、基本的に 2 つのフォームがあります。1 つは実行時に作成され、そのレイアウトは未定義で、2 つ目は定義済みです。
現在、提供されているツールボックスを使用してフォーム要素を追加していますが、ツールボックスを使用せずに記述されたコードを使用してそれらを追加する方法がわかりません。未定義の 2 番目のフォームに n 個のラベルを追加したいと考えています。n は何でもかまいません (ユーザーの入力に応じて、実行時に決定されます)。これを行う効率的な方法を誰か教えてもらえますか?

4

3 に答える 3

3

実行時に作成され、フォームに追加される「動的コントロール」の簡単な例:

Label lbl = new Label();
lbl.Text = "Hello World!";
lbl.Location = new Point(100, 25);
this.Controls.Add(lbl);

たとえば、「panel1」のように、「this」を追加先のコンテナに置き換えることができます。FlowLayoutPanel のように独自のレイアウト エンジンを持つコンテナーの場合、Location() を指定する必要はありません。

于 2013-10-27T18:38:45.227 に答える
1

を作成しnew LinkLabel()、そのプロパティ (特にテキストと位置) を設定してから、Controlsフォームまたは任意のパネルのコレクションに追加します。

List<T>イベント ハンドラーを追加して、後で変更または削除できるように、どこかに (おそらく ) に保存することもできます。

于 2013-10-27T16:12:16.060 に答える
1

デザイナーで作成し、必要に応じてプロパティを構成します。次に、名前が のようなデザイナー ファイルに移動しForm1.Desiner.cs、LinkLabel に関連するコードをコピーし (テキスト検索ですべてを見つけます)、必要な場所に貼り付けます :)

于 2013-10-27T16:18:02.693 に答える