问题描述
我有一个关于加载到 tabcontrol 中的 tabpages 的数据绑定用户控件的设计问题。 我希望能够将这些控件绑定到我正在使用的静态对象列表。我将添加简单的代码来说明我所追求的。
对象:
public static List<DrawerData> Drawer = new List<DrawerData>
{
new DrawerData(),new DrawerData()
}
public class DrawerData
{
private decimal apple;
private decimal orange;
public decimal Apple { get; set; }
public decimal Orange { get; set; }
}
用户控制:
public partial class UcDrawers : UserControl
{
private readonly int DrawerNum;
public UcPid( int drawer)
{
InitializeComponent();
DrawerNum = drawer;
}
private void UcDrawers_Load(object sender,EventArgs e)
{
UpDnApples.Value = Drawer[DrawerNum].Apple;
UpDnoranges.Value = Drawer[DrawerNum].Orange;
}
private void UpDnApples_ValueChanged(object sender,EventArgs e)
{
Drawer[DrawerNum].Apple= UpDnApples.Value;
}
private void UpDnoranges_ValueChanged(object sender,EventArgs e)
{
Drawer[DrawerNum].Orange= UpDnoranges.Value;
}
tabcontrol 所在的表单 (DrawerTabControl) :
public partial class FrmKitchen : Form
{
private readonly int dr;
public FrmKitchen(int NumOfdrawers)
{
InitializeComponent();
dr = NumOfdrawers;
}
private void FrmPIDSettings_Load(object sender,EventArgs e)
{
for (int i = 0; i < dr; i++)
{
AddTab(i+1);
}
}
private void AddTab(int d)
{
UcDrawers ucDrawers = new UcDrawers(d) { Dock = DockStyle.Fill };
TabPage myTabPage = new TabPage();
myTabPage.Controls.Add(ucDrawers);
DrawerTabControl.TabPages.Add(myTabPage);
myTabPage.Name = "DrawerTab" + d;
myTabPage.Text = "Drawer " + d;
}
}
假设用户控件上有两个标签,用于显示每个抽屉中苹果和橙子的数量。有没有一种好的方法来设置数据绑定来完成这样的事情?苹果和橙子的值可以在这种形式之外更改,我希望它们能够实时更新,理想情况下。
例如:
DrawerTab1.LblApple
和 DrawerTab1.LblOrange
被绑定到 Drawer[0].Apple
和 Drawer[0].Orange
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)