LineShape如何实现控件数组?急!
最近要把一个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这块控件数组怎么弄,请各位老大帮忙呀!今天就必须做出来啊!谢谢!!
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这块控件数组怎么弄,请各位老大帮忙呀!今天就必须做出来啊!谢谢!!
...全文
相关推荐
ovalshape控件所需插件
安装完成这个后 右击工具栏 选择项 搜索ovalshape即可找到该控件。 我擦!50字,我写不出来啊,这样就够了啊
C# WinForm轻量图形内核:支持实时绘制/拖拽/序列化
在工业上位机开发中,基础图形绘制并非简单调用DrawLine或DrawEllipse,而是需要可交互、可持久化、可嵌入的矢量图形对象模型。其核心原理在于将图形抽象为具备坐标、样式、ZOrder和拾取逻辑的实体类,通过GDI+双缓冲渲染与鼠标状态机实现流畅交互。该技术显著提升HMI界面动态标定、设备拓扑图构建、视觉定位框配置等场景的工程效率与可维护性,尤其适用于PLC集成、MES客户端及高DPI工业显示环境。本文提供一套纯C#、无第三方依赖、支持JSON序列化与SVG导出的生产级WinForm图形绘制引擎。
VisualBasic_PowerPacks3
VS2005或2008提供的Microsoft.VisualBasic.PowerPacks版本是1.1的,没有LineShape类,这个是3.0版本,包含的类比较齐全。
v1.690_workflow_
Workflow file creator
line-shape_时党勇线性射流k文件_
时党勇教材实例线性射流lineshape的k文件


