私はいくつかの四角形を作成するボタンと同じForm1上の別のボタンをそれらの四角形を削除する(これは下のコードで動作しています)
canvas.Parent = Nothing
今Form1には、新しいForm2をいくつかの値、チェックボックス、テキストボックスで開く別のボタンがあります
このForm2にはチェックボックスがあります。これは一度OKを選択すると、 "FORM1"
今度は、値と長方形をリセットするためにForm2にチェックボックス/ボタンが必要です。 したがって、基本的にこのチェックボックスをオンにすると、Form1のバックグラウンドのすべての矩形ではなく、このフォームから作成された矩形だけが削除されます。
Ex。私はすでにForm1に5つの長方形があり、Form2を開いていくつかの値を入力すると2つの長方形が作成されたので、Form1には7つの矩形があります。私はForm2で1つのボックスをチェックし、最後の2つの長方形を削除したので、Form1に残っている長方形が5つあります。 私は十分に明確であることを願っています!
私は多くのオプションを試しましたが、何も動作していません(例: "Block"という名前のRectangleShapeを削除したい、またはRectangleRhapeだけを削除したい
Block.Dispose()
Block.Invalidate()
Form1.Controls.Find("Block", True)
Block.Dispose()
DirectCast(Controls(dummy), RectangleShape).Dispose()
"Shapecontainer1"で宣言されていないエラーが発生し、Form2でどのように宣言すればよいのでしょうか?クラスを作る?一度私はそれに "形"を定義する方法を別のクラスを作成する?
For Each shp As RectangleShape In ShapeContainer1.Shapes
DirectCast(shp, RectangleShape).Dispose()
Next
または
For Each shp As Shape In ShapeContainer1.Shapes
If shp Is RectangleShape Then
ShapeContainer1.Shapes.Remove(shp)
End If
Next`
申し訳ありませんが、私は初心者です、非常に簡単な答えになる可能性がありますが、私は把握することができないし、答えを見つけることができません
コメントからのコード:
Dim shapesList1 As New List(Of PowerPacks.Shape)
For Each shp As PowerPacks.Shape In ShapeContainer1.Shapes
shapesList1.Add(shp)
Next
Dim shapesList2 As New List(Of PowerPacks.Shape)
For index As Integer = 0 To shapesList1.Count - 1
If Not (TypeOf shapesList1.Item(index) Is PowerPacks.OvalShape) Then
shapesList2.Add(shapesList1.Item(index))
End If
Next
ShapeContainer1.Shapes.Clear()
ShapeContainer1.Shapes.AddRange(shapesList2.ToArray)
For i as Integer = ShapContainer1.Shapes.Count - 1 To 0 Step -1
- LarsTechDim shapesList1 As New List(Of PowerPacks.Shape) For Each shp As PowerPacks.Shape In ShapeContainer1.Shapes shapesList1.Add(shp) Next Dim shapesList2 As New List(Of PowerPacks.Shape) For index As Integer = 0 To shapesList1.Count - 1 If Not (TypeOf shapesList1.Item(index) Is PowerPacks.OvalShape) Then shapesList2.Add(shapesList1.Item(index)) End If Next ShapeContainer1.Shapes.Clear() ShapeContainer1.Shapes.AddRange(shapesList2.ToArray)
- Mak