0

画像と2つのラベルを持つUserControlを作成しました:labelName labelUsername

また、SQLCEデータベースからデータを取得するDataSetとDataTableも作成しました。すべてのDataTable行をループして、メッセージボックスに情報を表示することができたので、このビットは正常に機能しています。

次に、DataTableのすべての行のFlowLayoutPanelにUserControlを表示し、2つのラベルにDataTableのName値とUsername値を入力します。これは、UserControlで何をコーディングするか、FlowLayoutPanelを含むフォームで何をコーディングするかがわからないために行き詰まっているところです。

誰かが私を助けてくれますか?

4

1 に答える 1

1

これは、フォームとUserControlの両方でコーディングします。

UserControlで、プロパティまたはメソッド内の2つのラベルのそれぞれのTextプロパティを公開します。プロパティを選択すると、ラベルlabelUsernameは次のようになります。

public string Username {
    set { labelUsername.Text = value; }
}

Formループで、DataSet内のすべてのDataTable内のすべてのDataRowをループし、DataRowごとにUserControlのインスタンスを作成し、それぞれをFlowLayoutPanelに追加します。DataRowsの適切な列値を使用して、UserControlラベルの値を設定します。

foreach (DataTable dt in ds.Tables) {
    foreach (DataRow row in dt.Rows) {
        var uc = new YourUserControl { Username = row["usernameColumn"].ToString(), 
                                       Name = row["nameColumn"].ToString() };
        flowLayoutPanel1.Controls.Add(uc);
    }
}
于 2012-09-25T20:16:20.173 に答える