2009-11-29 142 views
3

如何刪除ListView中的一行。我需要選擇要刪除的行,如果要刪除該行,命令按鈕會將其刪除並顯示警報消息。這將是什麼代碼?如何使用按鈕從VB6 ListView中刪除一行(項目)?

+1

如果我的回答對你有用,請通過投票表明。另外,如果您的問題已經通過答案得到解決,並且您不期望或需要任何其他答案,請接受答案。您還希望爲您之前詢問的其他兩個問題做到這一點:這是有禮貌的事情,並會增加未來問題的機會將得到有用的答案... – mdb 2009-11-29 10:13:20

+0

MDB是正確的,這是有禮貌的事情要做堆棧溢出。它與大多數其他論壇的工作方式有所不同。 – MarkJ 2009-11-30 16:44:47

回答

6

假設你已經創建的ListView(ListView1的),併爲按鈕Click事件(姑且稱之爲按鈕1),通過雙擊它,將可能會去是這樣的:

所以代碼會是這樣的:

private sub Button1_Click() 
    if ListView1.SelectedItem is nothing then exit sub 

    if MsgBox("Do you really want to delete?", "Question", vbYesNo) = vbYes then 
     ListView1.ListItems.Remove ListView1.SelectedItem.Index 
    end if 
end sub 
0

您已經使用了哪些控件,以及您已經編寫了哪些代碼以實現此目的? (您可以通過編輯將這些信息添加到您的問題中)。無論如何,我假設您至少有一個ListView控件(例如ListView1)和一個Button控件(例如DeleteRow),並且您知道該按鈕的單擊事件DeleteRow_Click(如果沒有,請雙擊該按鈕表單設計師,你會明白我的意思)。

現在,您需要在DeleteRow_Click事件中添加一些代碼。一些提示:

  • ListView中當前選定的行(item)是ListView1.SelectedItem。 SelectedItem是一個具有一些有用屬性的對象:您可以在編輯器中使用VB的對象瀏覽器和/或智能感知來瀏覽這些對象。另外,請考慮在ListView中選擇NO項目時會發生什麼情況:您還可以通過在將SelectedItem指定給變量的行上放置斷點來檢查此問題,然後在運行應用程序後使用調試器檢查它,然後單擊按鈕沒有首先在列表框中選擇一個項目(在實際的應用程序中,您通常會禁用該按鈕,直到某個項目被選中,但是我們不要在這裏領先於自己...)

  • ListView1也有一個集合代表其中的所有項目:它被稱爲ListItems,並且有幾個有用的屬性和方法(如.Remove ...)以供您探索使用F2或Intellisense

  • 要問用戶他/她真的很確定整個moval的東西,看看MessageBox函數:這個函數有點棘手,因爲它直接映射到基礎的Windows API調用,但一般的想法是,你傳入一些標誌值(通過將它們加在一起)來指示什麼類型你想要的消息框(圖標和按鈕)。然後檢查返回值以查看用戶選擇哪個按鈕。

+0

謝謝你的回答 – gibz357 2009-11-29 10:01:58

相關問題