tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005で多数のオブジェクト貼り付け
記事No4311
投稿日: 2006/09/25(Mon) 11:52
投稿者まる@
いつもお世話になってます。

VB2005でbtnAddボタンをクリックすると新たにボタンを作成するプログラムを作ってみました。


    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                                        Handles btnAdd.Click
        Dim objButton As New Button

        With objButton
            .Text = "ボタン1"
            .Location = New Point(0, 100)
            Me.Controls.Add(objButton)
        End With
    End Sub


btnAddボタンをクリックした回数が2回目の時(3回目〜も)、
新たに"ボタン2","ボタン3"という風に追加していきたいのですが
どのような方法がありますでしょうか。

[ツリー表示へ]
タイトルRe: VB2005で多数のオブジェクト貼り付け
記事No4312
投稿日: 2006/09/25(Mon) 13:07
投稿者魔界の仮面弁士
> btnAddボタンをクリックした回数が2回目の時(3回目〜も)、
> 新たに"ボタン2","ボタン3"という風に追加していきたいのですが

Private buttonIndex As UInteger = 0
Private Sub btnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAdd.Click
  Dim btn As New Button()
  buttonIndex += 1

  btn.Text = String.Format("ボタン{0}", buttonIndex)
  btn.Location = New Point(0, 40 * buttonIndex)
  btn.Size = New Size(150, 30)
  Controls.Add(btn)
End Sub

[ツリー表示へ]
タイトルRe^2: VB2005で多数のオブジェクト貼り付け
記事No4313
投稿日: 2006/09/25(Mon) 13:51
投稿者まる@
動作確認しました。
ありがとうございました。

[ツリー表示へ]
タイトルRe^2: VB2005で多数のオブジェクト貼り付け
記事No4318
投稿日: 2006/09/26(Tue) 15:52
投稿者まる@
度々申し訳ありません。

魔界の仮面弁士さんに教えていただいた手法でボタンの追加はできました。
追加したボタンに対してダイアログ画面を閉じる処理を作ってみたのですが・・・

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        Dim btn As New Button()
        buttonIndex += 1

        btn.Text = String.Format("ボタン{0}", buttonIndex)
        btn.Location = New Point(0, 40 * buttonIndex)
        btn.Size = New Size(150, 30)
        Me.CancelButton = btn
        Controls.Add(btn)
    End Sub

上記で画面は閉じますが、ボタン2〜 すべてのボタンの押下で画面が閉じてしまいます。
ボタン1がClick,ボタン2がClickボタン3…といった風に
どのボタンが押下されたのか知りたい場合、どういった手がありますでしょうか。

[ツリー表示へ]
タイトルRe^3: VB2005で多数のオブジェクト貼り付け
記事No4319
投稿日: 2006/09/26(Tue) 16:14
投稿者花ちゃん
下記をご覧下さい。

当サイトの 参考サイトリンク集→VB マイグレーション Tips 内のコントロールを動的に
作成する方法について
 http://www.microsoft.com/japan/msdn/vbasic/migration/tips/DynamicControl/

その他色んなサンプルが紹介されているので見ておいて下さい。

[ツリー表示へ]
タイトルRe^4: VB2005で多数のオブジェクト貼り付け
記事No4320
投稿日: 2006/09/26(Tue) 16:43
投稿者まる@
参考になりました。
ありがとうございました。

[ツリー表示へ]