datagrid对象和datagrid控件的问题

tollers 2005-03-24 09:11:06
两个工程,添加了相同的引用和部件,但在一个工程里,若将datagrid放在模块中,vb会认为这是datagrid对象,如
sub aaa(dt as datagrid)
dt.ColumnCount = 0
dt.ColumnLabel
'根据msdn,以上是datagrid对象的属性
end sub

但在另一个工程中,
sub aaa(dt as datagrid)
dt.Columns(1).Alignment
dt.AddNewMode
'根据msdn,以上是datagrid控件的属性,这些属性是datagrid对象所没有的
end sub

两个工程都添加了datagrid control部件的,而且是在同一台机器上的

现在我需要得到的是datagrid控件,怎么解决这个问题。谢了
...全文
84 点赞 收藏 2
写回复
2 条回复
sonique 2005年03月24日
楼主请把问题描述清楚一点
回复 点赞
lgxysl 2005年03月24日
一般来说,控件是有界面的,而且一般来说控件的实例是要存入于空器中的,在模块中,是否能这样使用控件,我也不太清楚.毕竟VB不是一个真正的面向对象的编程语言.
你可以这样试试:
sub aaa(dt as new datagrid)
dt.Columns(1).Alignment
dt.AddNewMode
'根据msdn,以上是datagrid控件的属性,这些属性是datagrid对象所没有的
end sub

如果不行(我看这是不行的,不过我没有试过),可以这样:

一般来说,你引用一个控件,必然要在窗体中使用它,你可以在使用它的窗体中加载一个datagrid控件的实例(如果在一开始<在没有调用你的模块在的过程这前>,你不想让这个控件实例是可见的,你可以把它的可见性设为"不可见"),并把它命名为dts
把你的模块中的代码改写为:
sub aaa(dt as object)
dt.Visible=true
dt.Columns(1).Alignment
dt.AddNewMode
'根据msdn,以上是datagrid控件的属性,这些属性是datagrid对象所没有的
end sub

在应用它的窗体调用这个过程时:
aaa(dts)
回复 点赞
发动态
发帖子
控件
创建于2007-09-28

1223

社区成员

4.1w+

社区内容

VB 控件
社区公告
暂无公告