3

リズムレジスターを作っていてFlowlayoutpanelを使っています。
私がやりたいことは、ユーザーが望むだけ多くのラベルとテキストボックスを動的に作成することです。ユーザーは、図に示すように自分のタスクを入力すると、目標が数字で示されます。

たとえば、本のページを読む。目標は7日間に分割されます。の前のテキストボックスActual=Goal/7。Done の前にある Textbox には、ユーザーがその日に行った入力が表示されます。
ここで直面している問題は、図に示すように、同じテキストボックスとラベルを持つ別の FlowLayout パネルを作成して、ユーザーの複数のタスクを表示するにはどうすればよいかということです。

さらに、それらをデータベースに保存することに興味があります。

誰かが私を助けることができますか?

4

1 に答える 1

1

アンサンブルを形成するラベルとテキスト ボックスを 1 つの UserControl に結合します。UserControl デザイナは、フォーム デザイナと同じように機能します。コントロールを配置したり、イベント ハンドラーを作成したり、プロパティを追加して、コントロールの値にパブリックにアクセスできるようにすることができます。

flowLayoutPanel1 に追加したコントロールもリストに格納します。これにより、コードからそれらにアクセスし、対応する値をデータベースに保存することが容易になります。

private List<TaskUserControl> _tasks = new List<TaskUserControl>();

private void AddTask()
{
    var task = new TaskUserControl();
    _tasks.Add(task);
    flowLayoutPanel1.Controls.Add(task);
}

方法: DataTable に行を追加する(msdn)
C# SQL サーバーを使用して既存のテーブルに新しい行を追加する方法(stackoverflow)

于 2012-11-18T16:02:47.530 に答える