同样的做法在VS2003下可以运行,为什么在VS2005下不能运行,请高手指点(C#中也有发贴子)

zhaoxiaoyang5156 2007-07-31 10:22:37
同样的做法在VS2003下可以运行,为什么在VS2005下不能运行,请高手指点
操作步骤:
拖一个ComboBox 到窗体上命名为ComboBoxName
进入代码 导入命名空间
vb.net为: Imports System.Data.SqlClient
c#为:using System.Data.SqlClient;
vb.net2003下的代码为:

' 匯入命名空間
Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
' CurrencyManager 物件的類別層級宣告
Dim bmFoxStudio As BindingManagerBase

' 这里是Windows 窗体设计器生成的代码,,就省了。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ComboBoxName.DataSource = CreateDataSource()
ComboBoxName.DisplayMember = "id"
bmFoxStudio = Me.BindingContext(CreateDataSource())
End Sub
Private Function CreateDataSource() As ICollection
Dim dt As New DataTable
Dim dr As DataRow
dt.Columns.Add(New DataColumn("id", GetType(Int32)))
dt.Columns.Add(New DataColumn("PkID", GetType(String)))
For i As Integer = 0 To 5
dr = dt.NewRow()
dr(0) = i
dr(1) = "破晓之阳"
dt.Rows.Add(dr)
Next
Dim dv As New DataView(dt)
Return dv
End Function

Private Sub ComboBoxName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxName.SelectedIndexChanged
bmFoxStudio.Position = Me.ComboBoxName.SelectedIndex
End Sub
End Class

vb.net2005 代码:
Imports System.Data.SqlClient
Public Class Form1
Dim bmFoxStudio As BindingManagerBase

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ComboBoxName.DataSource = CreateDataSource()
ComboBoxName.DisplayMember = "id"
bmFoxStudio = Me.BindingContext(CreateDataSource())
End Sub
Private Function CreateDataSource() As ICollection
Dim dt As New DataTable
Dim dr As DataRow
dt.Columns.Add(New DataColumn("id", GetType(Int32)))
dt.Columns.Add(New DataColumn("PkID", GetType(String)))
For i As Integer = 0 To 5
dr = dt.NewRow()
dr(0) = i
dr(1) = "破晓之阳"
dt.Rows.Add(dr)
Next
Dim dv As New DataView(dt)
Return dv
End Function
Private Sub ComboBoxName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxName.SelectedIndexChanged
bmFoxStudio.Position = Me.ComboBoxName.SelectedIndex
End Sub
End Class

c#.net2003代码:
// CurrencyManager 物件的類別層級宣告
BindingManagerBase bmFoxStudio;
private void ComboBoxName_SelectedIndexChanged(object sender, System.EventArgs e)
{
bmFoxStudio.Position = ComboBoxName.SelectedIndex;
}

private void Form1_Load(object sender, System.EventArgs e)
{
ComboBoxName.DataSource = CreateDataSource( );
ComboBoxName.DisplayMember = "id";
bmFoxStudio = this.BindingContext[CreateDataSource( )];
}
ICollection CreateDataSource( )
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("id", typeof(Int32)));
dt.Columns.Add(new DataColumn("PkID", typeof(string)));
for (int i = 0; i < 6; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "破晓之阳";
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
c#.net2005 代码就省略了。


...全文
155 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fachun 2007-08-01
  • 打赏
  • 举报
回复
ding

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧