none
RectangleShape、座標についての件 RRS feed

  • 質問

  • いつもお世話になっております。質問をさせて頂きます。

    動的に生成されたRectangleShapeをShapeContainerを経由、Picture Boxに、表示されてますが、

    RectangleShapeのDrawing.Point(0,0)の起点(位置)は左上隅になります、
    左下隅からにしたいですが、作り方は分かりません。
    経験のある方が教えて頂けないでしょうか。

    よろしくお願いいたします。

    環境:VB.net 2008、Windows XP

    2012年9月26日 7:55

回答

  • RectangleShape.Locationプロパティに適当な値を設定してやれば良いかと思います。
    こんな感じ?

        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Dim container As New ShapeContainer
    
            Dim rect As New RectangleShape
            With rect
                .Name = "rect"
                .Size = New Size(100, 100)
                .Location = New Point(0, Me.ClientSize.Height - 100)
                .Parent = container
            End With
    
            container.Parent = Me
        End Sub

    ちなみにフォームサイズが変更されたときに追従するには別途始点を合わせる処理を実装する必要があります。
    • 回答としてマーク kentkent_jp 2012年9月26日 9:49
    2012年9月26日 8:54

すべての返信

  • RectangleShape.Locationプロパティに適当な値を設定してやれば良いかと思います。
    こんな感じ?

        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Dim container As New ShapeContainer
    
            Dim rect As New RectangleShape
            With rect
                .Name = "rect"
                .Size = New Size(100, 100)
                .Location = New Point(0, Me.ClientSize.Height - 100)
                .Parent = container
            End With
    
            container.Parent = Me
        End Sub

    ちなみにフォームサイズが変更されたときに追従するには別途始点を合わせる処理を実装する必要があります。
    • 回答としてマーク kentkent_jp 2012年9月26日 9:49
    2012年9月26日 8:54
  • みっとさん

    お世話になります。

    ご提示の方法で試しました、希望通りになりました。

    ご教授大変有難うございました。

    2012年9月26日 9:52