Как добавить прямоугольную форму в форму окна и отобразить ее? - PullRequest
1 голос
/ 03 августа 2011

Я создал прямоугольную фигуру и попытался показать ее в моей форме следующим образом

Imports Microsoft.VisualBasic.PowerPacks
Public Class frmBoard

    Dim baseDice As RectangleShape

    Private Sub frmBoard_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        baseDice.CornerRadius = 5
        baseDice.Height = 50
        baseDice.Width = 50
        baseDice.BackColor = Color.Blue

        Me.components.Add(baseDice)

    End Sub
End Class

Это не сработало. Я что-то пропустил, но я не знаю, что ...

Обновлен код после ответа @Jay Riggs

Imports Microsoft.VisualBasic.PowerPacks
Public Class frmBoard

    Dim baseDice As RectangleShape
    Dim shapeContainer As ShapeContainer

    Private Sub frmBoard_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        shapeContainer.Parent = Me
        baseDice.Parent = shapeContainer
        baseDice.CornerRadius = 5
        baseDice.Height = 50
        baseDice.Width = 50
        baseDice.BackColor = Color.Blue
        baseDice.Left = 50
        baseDice.Top = 50
        'Me.components.Add(baseDice)



    End Sub
End Class

Это тоже не сработало

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Документация MSDN для RectangleShape Class демонстрирует, что вам нужно сделать: установить свойства RectangleShape Left и Top.

Private Sub DrawRectangle()
    Dim canvas As New Microsoft.VisualBasic.PowerPacks.ShapeContainer
    Dim rect1 As New Microsoft.VisualBasic.PowerPacks.RectangleShape
    ' Set the form as the parent of the ShapeContainer.
    canvas.Parent = Me
    ' Set the ShapeContainer as the parent of the RectangleShape.
    rect1.Parent = canvas
    ' Set the location and size of the rectangle.
    rect1.Left = 10
    rect1.Top = 10
    rect1.Width = 300
    rect1.Height = 100
End Sub

EDIT
Обновите код, чтобы создать экземпляры объектов ShapeContainer и RectangleShape:

Dim baseDice As RectangleShape = New RectangleShape
Dim shapeContainer As ShapeContainer = New ShapeContainer
0 голосов
/ 08 июня 2016

Это работает

Импорт Microsoft.VisualBasic.PowerPacks Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim C As New ShapeContainer
    Dim R As New RectangleShape
    C.Parent = Me
    R.Parent = C
    R.Name = "SHR1"
    R.Width = 100
    R.Height = 100
    R.Top = 10
    R.Left = 10
    R.FillColor = Color.Green
    R.FillStyle = FillStyle.Solid
    Me.Controls.Add(C)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...