2012-03-22 9 views
1

私の現在のWindowsアプリケーションでは、私のusercontrolにデータソースを与える方法を探しています。 私のページでは、自分のusercontrolをflowlayoutpanelに追加します。そのusercontrolには、データソースからデータを入力したい3つのテキストボックスがあります。Usercontrolデータソース?

usercontrol uc = new usercontrol(); 
flowlayoutpanel.Controls.Add(uc); 
uc.DataSource? 

SilverlightとASP.NETでは、ユーザーコントロールにデータソースを追加できます。ユーザーコントロールでは、コンテンツとして{Binding fieldname}を使用してテキストボックスにデータを取得します。私はWindowsフォームのこれに関する情報を見つけることができません。

ありがとうございます。あなたはこれを実装するのに役立つ可能性があるMSDNの記事があります トーマス

+0

Silverlightなどのテクノロジには、データバインドのより複雑で高度な方法が含まれていることに注意してください。ここでは、データバインディングはWinFormsの後から検討されています。スチュアートの答えは始めるのに最適な場所であり、特にあなたの問題のために、おそらくあなたのテキストボックスに直接結びついてしまうでしょう。あなたのusercontrolには3つのテキストボックスだけが含まれているかのように動作します。 –

+0

ええ、私はゲッターとセッターをユーザーコントロール内で使用してしまいました。 非常にうまくいくと思われます。 – Schoof

答えて

0

私はsetterとgettersを私のusercontrolに入れてこれを(Stuartのリンクのおかげで)解決しました。

public partial class ucOpleiding : UserControl 
{ 
    public string Datum 
    { 
     get { return txtDatum.Text; } 
     set { txtDatum.Text = value; } 
    } 

    public string Plaats 
    { 
     get { return txtPlaats.Text; } 
     set { txtPlaats.Text = value; } 
    } 

    public string Omschrijving 
    { 
     get { return txtOmschrijving.Text; } 
     set { txtOmschrijving.Text = value; } 
    } 

    public ucOpleiding() 
    { 
     InitializeComponent(); 
    } 

私のメインフォームでは、これらのセッターとゲッターを呼び出します。

foreach (opleiding opl in ChauffeurManagement.getOpleidingen(Int32.Parse(cbbID.SelectedValue.ToString()))) 
{ 
    ucOpleiding uc = new ucOpleiding(); 

    uc.Datum = opl.datum.ToString(); 
    uc.Plaats = opl.plaats_instantie; 
    uc.Omschrijving = opl.omschrijving; 

    flpOpleidingen.Controls.Add(uc); 
}