![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
VS(Visual Basic2012)でアプリケーションの開発をしております。
WindowsフォームアプリケーションにてForm上のPanelにコンテナされている
Pictureboxに、Buttonをクリックする度にLineshapeコントロールを動的に配置するようにしています。
そこで、とある動作(他のButtonのクリックとか)で、
そのなかの特定のLineshapeコントロールを削除したいのですが、やり方がわかりません。
Lineshapeコントロールは以下のソースのように配置しています。
配置したコントロール名がわかれば削除できそうなのですが、コントロール名の取得の方法がわかりません。
配置したLineshapeコントロールを削除する方法があれば上記の方法以外でも構いません。
どなたかアドバイスいただけたら幸いです。
以下ソースです。
Dim canvas As New PowerPacks.ShapeContainer
Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click
Dim win As New LINESHAPE
' Set the form as the parent of the ShapeContainer.
canvas.Parent = Me.PictureBox6
' Set the ShapeContainer as the parent of the LineShape.
win.Parent = canvas
win.BorderWidth = 20
win.BorderColor = Color.LightBlue
win_index = win_index + 1
win.SetIndx(win_index)
win.SetAng(0)
win.Name = "Win" & win_index
win.SetX(Panel1.Width / 2)
win.SetY(Panel1.Height / 2)
win.X1 = win.GetX - 50 * Math.Cos(win.GetAng * Math.PI / 180)
win.Y1 = win.GetY + 50 * Math.Sin(win.GetAng * Math.PI / 180)
win.X2 = win.GetX + 50 * Math.Cos(win.GetAng * Math.PI / 180)
win.Y2 = win.GetY - 50 * Math.Sin(win.GetAng * Math.PI / 180)
'動的にイベントを関連付ける
AddHandler win.MouseDown, AddressOf win_MouseDown
AddHandler win.MouseUp, AddressOf win_MouseUp
AddHandler win.MouseMove, AddressOf win_MouseMove
End Sub
Public Class LINESHAPE
Inherits PowerPacks.LineShape
Dim idx As String
Dim ang As String
Dim p_x As String
Dim p_y As String
Public Sub SetIndx(index As String)
idx = index
End Sub
Public Sub SetAng(angle As String)
ang = angle
End Sub
Public Sub SetX(xx As String)
p_x = xx
End Sub
Public Sub SetY(yy As String)
p_y = yy
End Sub
Public Function GetIndx()
Return idx
End Function
Public Function GetAng()
Return ang
End Function
Public Function GetX()
Return p_x
End Function
Public Function GetY()
Return p_y
End Function
End Class
以上、よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
この質問からはどのコントロールを消すのかはわかりませんでしたが、
コントロール名は分かりそうなので、
ControlsクラスのFindメソッドで検索できると思います。
http://dobon.net/vb/dotnet/control/findcontrolby …
この回答への補足
回答ありがとうございます。
Lineshapeの型はControlではなくPowerPacks.Shapeのようなので、
Findメソッドがうまく使えません。なにかよい方法があればお願いします。
現在配置しているLineshapeコントロールの一覧を表示させるための
ソースを下に貼り付けます。ご参考ください。
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.DoubleClick
Dim MyControl As PowerPacks.Shape
Dim AllName As String
Dim i As Integer
AllName = "フォームに配置されている全てのコントロール名" & Chr(13)
For Each MyControl In canvas.Shapes
i = i + 1
AllName = AllName & Chr(13) & _
i & ":MyControl.Name = " & MyControl.Name
Next
MsgBox(AllName)
End Sub
また、基本的な質問なのですが、
コントロール名というにはそのコントロール
(今回の場合はPowerPacks.Shapeになるのですが、)
のNameプロバティと同じもの。という理解でよろしいでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
C#で角が丸いテキストボックス
-
vb.netで画面のコントロールId...
-
コントロールを移動できない
-
'ckbl' コントロールは作成され...
-
エクセル・VBA CheckBoxのオブ...
-
エクセルVBAでオプションボタン...
-
VBAのフォームでTextBoxがいっ...
-
間違えて配置してしまったコン...
-
vb.net メニューをダブルクリッ...
-
Excel-VBAでタイマー処理
-
chr関数の呼び出しで「プロ...
-
excelのリストボックスで選択し...
-
VBAのエラーについて、”実行時...
-
USB I/Oのデジタル信号をvbaで...
-
フォーカスの枠線を太くしたい
-
DataGridView、1セルに複数コ...
-
ExcelVBAでListViewが使用できない
-
C#で自分のウインド・ハンド...
-
Excel VBA 動的に作成したチェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
vb.netで画面のコントロールId...
-
C#,vb.netで業務用アプリ開発と...
-
EXCELでactivexコントロールを...
-
フォーム上の現在アクティブな...
-
ExcelVBAでListViewが使用できない
-
コンボボックスの文字によるif...
-
C#で角が丸いテキストボックス
-
エクセルVBAでオプションボタン...
-
ユーザーフォームで動的(Me.Con...
-
VBAのフォームでTextBoxがいっ...
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
excelのリストボックスで選択し...
-
Excel VBA で Richtextboxを使...
おすすめ情報