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