listbox绑定到自定义对象
1. listbox的textmember与valuemember必需是属性
2.绑定对象必需继承ilist
3. 绑定辅助用这个 private currencymanager currencymanager=null;
绑定方法用这个currencymanager = (currencymanager)datagrid1.bindingcontext[al];4.一定要设datasource属性5.对象内容发生变化后,要及时刷新 currencymanager.refresh();
转个链接: http://support.microsoft.com/kb/316303/zh-cn
分步示例
在 visual c#.net 或 visual c# 2005年中创建新的 windows 应用程序项目。默认情况下创建 form1。
将类添加到项目中。
用下列替换代码中 class1.cs:
public class guitar
{
private string make;
private string model;
private short year;
public guitar()
{
}
public guitar(string make, string model, short year)
{
make=make;
model=model;
year=year;
}
public string make
{
get
{
return make;
}
set
{
make = value;
}
}
public string model
{
get
{
return model;
}
set
{
model = value;
}
}
public short year
{
get
{
return year;
}
set
{
year = value;
}
}
}
关闭 class1.cs 代码窗口,然后切换到窗体设计器。
向 form1 中添加一个 datagrid 控件。调整大小以适应三个行和四个列将 datagrid 控件。
将四个 按钮 控件添加到 form1,然后横向排列按钮。
下一处 更改 button1 文本 属性。
更改到 前一节 的 button2 文本 属性。
更改为 第一个 button3 的 text 属性。
上次 更改 button4 的 text 属性。
下面的代码添加到 form1 类:
private arraylist al = new arraylist();
private currencymanager currencymanager=null;
切换到窗体设计器,用鼠标右键单击该的表单,然后单击 属性。
单击 事件 图标,然后双击 load 事件将 form1_load 事件添加到您的代码。
将以下代码粘贴到 form1_load 事件中:
al.add (new guitar("gibson", "les paul", 1958));
al.add (new guitar("fender", "jazz bass", 1964));
al.add (new guitar("guild", "bluesbird", 1971));
currencymanager = (currencymanager)datagrid1.bindingcontext[al];
datagrid1.datasource=al;
若要查看窗体设计器的开关。
双击 $ 下一步,然后将下面的代码添加到 button1_click 事件:
currencymanager.position++;
双击 上一步 中,然后将下面的代码添加到 button2_click 事件:
currencymanager.position--;
双击 第一个,然后将下面的代码添加到 button3_click 事件:
currencymanager.position = 0;
双击 最近,然后将下面的代码添加到 button4_click 事件:
currencymanager.position = al.count - 1;
生成并运行该项目。
单击命令按钮以在 datagrid 控件中的行之间移动。注意是否需要您可以编辑该对象的值。