おそらくかなり頻繁に見られる問題に遭遇しましたが、ここで実際に議論されたことはありません。
私のGuiでは、forループのコントロールをFlowpanellayoutに追加しています。ポイントは、データベースから「レポート」を表示することです。レポートの数は日によって異なる可能性があるため、動的である必要があります。
Gui 要素を追加する疑似コード:
for(int i = 0; i < reports.Count; i++)
{
TextBox textboxPerson = new TextBox();
textboxPerson.Name = "TextboxName" + i;
textboxPerson.Text = reports[i].Name;
textboxPerson.TextChanged += new EventHandler(this.textboxPerson_TxtChanged);
Label labelToChange = new Label();
labelToChange.Name = "label"+i;
labelToChange.Text = "";
flowlayoutPanel.Controls.Add(textboxPerson);
flowlayoutPanel.Controls.Add(labelToChange);
}
イベントハンドラ:
private void textboxPerson_TextChanged(object sender, EventArgs e)
{
//So far, I'm only getting the number of the Textbox that changed.
}
ここで、あなたのアドバイスが必要です。Textbox と Label は一致しています (つまり、Texbox1 は Label1 に接続されていることがわかります)。しかし、特定の 1 つのコントロールにどのように対処すればよいでしょうか?
- Texbox1 の Text が変更された場合、Label1 に対処してその Text などを変更するにはどうすればよいですか?
- 動的な Gui 要素をフォームに追加して処理する最先端の技術はありますか?