在最终决定提出这个问题之前,我做了一些广泛的搜索。我已经按照MSDN教程创建了使用简单,复杂和查找数据绑定的用户控件。
它们非常适用于仅使用单个Combobox或Gridview的用户控件。
现在我想用三个不同的Combobox创建一个用户控件。我想将每个绑定到不同的表。表格是“名称”,“类型”和“产品”。
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中使用它们了),但是因为我将在不同的地方使用这三个Combobox,这似乎是一个好主意。我的申请。
答案 0 :(得分:2)
您可以根据需要简单推断您所知道的内容:
public object DataSource1
{
get{ return comboBox1.DataSource; }
set{ comboBox1.DataSource = value; }
}
public object DataSource2
{
get{ return comboBox2.DataSource; }
set{ comboBox2.DataSource = value; }
}
public object DataSource3
{
get{ return comboBox3.DataSource; }
set{ comboBox3.DataSource = value; }
}
虽然您可能希望制作比..1,..2,..3。
更好的描述性名称答案 1 :(得分:1)
我会创建一个包含三个UserControl
的{{1}}。例如:
LookupBox