LineShape如何实现控件数组?急!

hjk1 2011-06-23 11:35:38
最近要把一个vb6.0项目升级为vb.net,这个项目类似一个图形编辑器,需要在窗体上画n多条线,拖动图形的时候,图上的连接线也要跟着动。我做了一个实例,代码如下:
Imports Microsoft.VisualBasic.PowerPacks
Imports Microsoft.VisualBasic.Compatibility

Public Class Form1
Private arrayList1 As ArrayList
'Private sharp0 As LineShape


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub add()
Dim ShapeContainer1 = New Microsoft.VisualBasic.PowerPacks.ShapeContainer()
Dim sharp0 = New Microsoft.VisualBasic.PowerPacks.LineShape()
ShapeContainer1.Shapes.AddRange(New Microsoft.VisualBasic.PowerPacks.Shape() {sharp0})
Me.SuspendLayout()
sharp0.X1 = VB6.TwipsToPixelsX(VB6.PixelsToTwipsX(Button1.Left) + VB6.PixelsToTwipsX(Button1.Width))
sharp0.Y1 = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Button1.Top) + VB6.PixelsToTwipsY(Button1.Height) / 2)
sharp0.X2 = VB6.TwipsToPixelsX(VB6.PixelsToTwipsX(Button1.Left + 50) + VB6.PixelsToTwipsX(Button1.Width) + 100)
sharp0.Y2 = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Button1.Top) + VB6.PixelsToTwipsY(Button1.Height + 100) / 2)
Me.Controls.Add(ShapeContainer1)
'arrayList1.Add(New ShapeContainer)
'Me.PointToClient()
Me.ResumeLayout(False)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.add()
End Sub
End Class

可我往arrayList1里加的时候报运行时错误。我是做C#的,实在搞不懂VB这块控件数组怎么弄,请各位老大帮忙呀!今天就必须做出来啊!谢谢!!
...全文
148 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2011-06-23
  • 打赏
  • 举报
回复
.net没控件数组。至少设计界面不支持了。代码上可以自己写。

16,721

社区成员

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

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