如何在vb.net winforms中以编程方式将powerpack线型添加到现有面板?

如何在vb.net winforms中以编程方式将powerpack线型添加到现有面板?,vb.net,winforms,Vb.net,Winforms,查看问题/回答24490437,我发现可以通过编程方式创建线型并将其应用于形状容器。但是,该解决方案不允许在现有面板上放置新的线型。如何在现有面板(vb.net winforms)上放置新的线条形状 以下是我尝试编写的代码: Private Sub frmbig_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' define a new line shape

查看问题/回答24490437,我发现可以通过编程方式创建线型并将其应用于形状容器。但是,该解决方案不允许在现有面板上放置新的线型。如何在现有面板(vb.net winforms)上放置新的线条形状

以下是我尝试编写的代码:

Private Sub frmbig_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' define a new line shape
    Dim startx As Integer = 0
    Dim starty As Integer = 0
    Dim endx As Integer = 100
    Dim endy As Integer = 100
    Dim yourline As New LineShape(startx, starty, endx, endy)

    ' attempt to place the line shape on the existing panel1 which is on frmbig
    yourline.Parent = Panel1
    ' !! blue underline under Panel1 when highlighted states:
    ' Value of type 'System.Windows.Forms.Panel' cannot be converted to 
    ' 'Microsoft.VisualBasic.PowerPacks.ShapeContainer'.

End Sub

您必须添加ShapeContainer:

Dim startx As Integer = 0
Dim starty As Integer = 0
Dim endx As Integer = 100
Dim endy As Integer = 100
Dim yourline As New LineShape(startx, starty, endx, endy)

Dim sc As New ShapeContainer
yourline.Parent = sc

Panel1.Controls.Add(sc)

给我们链接,好吗?你的画布什么都不是。画布应该是你的画布吗?formName是一个不同的表单吗?我在我的问题中展示了链接中的示例。我想简单地将新创建的“yourline”放在panel1上,panel1存在并且其父对象是frmbig。panel1是ShapeContainer吗?如果您需要帮助,请尝试发布“您的”代码。我建议您首先在设计器中执行此操作,然后查看设计器生成的代码。然后可以复制该代码。要访问设计器代码文件,请打开解决方案资源管理器,单击“显示所有文件”按钮,然后展开表单的节点。
Dim startx As Integer = 0
Dim starty As Integer = 0
Dim endx As Integer = 100
Dim endy As Integer = 100
Dim yourline As New LineShape(startx, starty, endx, endy)

Dim sc As New ShapeContainer
yourline.Parent = sc

Panel1.Controls.Add(sc)