none
按鈕刪除及釋放的問題 RRS feed

  • 問題

  •  請問一下喔各位高手和長輩們

    以下是一個產生新按鈕的程式(.net2005)

    要是產生完後.我不想要時要怎麼完全

    的刪除它呢!因為不想用隱藏的方式

    以及使用new的方式產生的方法物件

    又要怎麼釋放掉它呢

    Dim newbutton As New Button
            With newbutton

           .Size = New Size(200, 100)

                .Location = New Point(10, 10)

                .Visible = True

                .Text = "numberONE"

            End With

            Me.Controls.Add(newbutton)

     

     

     

    2007年5月5日 下午 03:37

解答

  • Dim newbutton As New Button
    With newbutton

    .Size = New Size(200, 100)

    .Location = New Point(10, 10)

    .Visible = True

    .Text = "numberONE"

    End With

    Me.Controls.Add(newbutton)
       Me.Controls.remove(newbutton) '在該容器會移除button,但是物件還是存在

    newbutton = nothing '釋放物件


    '沒有呼叫 Me.Controls.remove(newbutton)

    '只有使用 newbutton = nothing 的情況下 , 在容器裡還是有該物件存在

    '可以再使用 newbutton = Me.Controls.item(X) 取回 (X為 該物件之index )

     

    (文章字體大小不一..不好意思 我調整不回來..)




    2007年5月11日 上午 03:23

所有回覆

  • Hi,

    你可以呼叫該物件的Dispose方法來將相關的資源釋放掉。

     

    有興趣的話可以順便看看記憶體回收相關文章來暸解一些其它的部份。

    http://msdn2.microsoft.com/zh-tw/library/0xy59wtx(VS.80).aspx

    2007年5月5日 下午 03:55
    版主
  • Dim newbutton As New Button
    With newbutton

    .Size = New Size(200, 100)

    .Location = New Point(10, 10)

    .Visible = True

    .Text = "numberONE"

    End With

    Me.Controls.Add(newbutton)
       Me.Controls.remove(newbutton) '在該容器會移除button,但是物件還是存在

    newbutton = nothing '釋放物件


    '沒有呼叫 Me.Controls.remove(newbutton)

    '只有使用 newbutton = nothing 的情況下 , 在容器裡還是有該物件存在

    '可以再使用 newbutton = Me.Controls.item(X) 取回 (X為 該物件之index )

     

    (文章字體大小不一..不好意思 我調整不回來..)




    2007年5月11日 上午 03:23