在最终决定问这个问题之前,我已经做了大量的搜索。我遵循MSDN教程创建使用简单,复杂和查找数据绑定的用户控件。如何用3个组合框创建一个用户控件,并为每个控件创建一个不同的数据绑定?
- Walkthrough: Creating a User Control that Supports Simple Data Binding
- Walkthrough: Creating a User Control that Supports Complex Data Binding
- Walkthrough: Creating a User Control that Supports Lookup Data Binding
而且他们工作的伟大......对于只使用单个组合框或GridView的用户控件。
现在我想创建一个用户控件与三个不同的组合框。我想将每个绑定到不同的表。这些表格是“名称”,“类型”和“产品”。
MSDN教程涉及到为单个Combobox创建DataBindingProperties,但不显示如何为包含多个用户控件的用户控件执行相同操作。
using System.Windows.Forms;
namespace CS
{
[System.ComponentModel.LookupBindingProperties(
"DataSource", "DisplayMember", "ValueMember", "LookupMember")]
public partial class LookupBox : UserControl
{
public object DataSource
{
get{ return comboBox1.DataSource; }
set{ comboBox1.DataSource = value; }
}
public string DisplayMember
{
get{ return comboBox1.DisplayMember; }
set{ comboBox1.DisplayMember = value; }
}
public string ValueMember
{
get{ return comboBox1.ValueMember; }
set{ comboBox1.ValueMember = value; }
}
public string LookupMember
{
get{ return comboBox1.SelectedValue.ToString(); }
set{ comboBox1.SelectedValue = value; }
}
public LookupBox()
{
InitializeComponent();
}
}
}
现在,您可以看到,代码中只提到了一个Combobox。我需要有三个组合框,每个绑定到上面提到的不同的表。
拜托,我把头撞在墙上。我对用户控件不太熟悉(尽管我已经在ASP.NET中使用过它们),但是看起来好像是一个好主意,因为我打算在不同的地方使用这三个组合框,我的应用程序。
其实,这正是我计划要做的。这三个LookupBoxes将成为单个用户控件的一部分(称为'Description'),并且THAT用户控件将被添加到其他几个用户控件中。所以它基本上是一个用户控件,在另一个用户控件的内部。谢谢您的回答。你对我的代码有意义,但我很好奇下一个用户控件的代码(它将包含这个代码)看起来像什么。我的意思是,如果我有三个嵌套控件,每次都必须深入三个层次吗? –