簡體   English   中英

C#listView,向現有項目添加圖標

[英]C# listView, add icon to existing item

我想將小圖像添加到listView的現有行中。 ListView已連接到SQLite DB。 當在listView中選擇某行並單擊按鈕“ Zakoncz”時,會將SQLite數據庫值“ 1”添加到“ CzyZaznaczone”列中,當值為“ 1”時,listView應該將圖像添加到所選行中。 我的圖像在資源中,我可以使用它還是只能從文件中使用? 現在,我的代碼向數據庫添加了一個值,但沒有添加圖像。

這是代碼:

SQLiteConnection con = new SQLiteConnection("data source=baza.db");
        SQLiteDataAdapter ada = new SQLiteDataAdapter("select * from Przypominacz", con);
        SQLiteCommand cmd = con.CreateCommand();
        var index = this.listView1.SelectedIndices[0];
        string zaznaczone = this.listView1.Items[index].SubItems[0].Text;
        con.Open();
        cmd.CommandText = "UPDATE Przypominacz SET CzyZakonczone=1 WHERE Nazwa='"+ zaznaczone + "'";
        cmd.ExecuteNonQuery();

        //dodanie ikonki do zakonczonego zadania

        bool result = false;
        string sql = "SELECT * FROM Przypominacz WHERE CzyZaznaczone='1'";
        SQLiteDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
        {
                result = true;
        }
        reader.Close();
        bool rezultat = result;

        if(rezultat==true)
        {
            for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--)
            {
                ImageList imageList = new ImageList();
                imageList.Images.Add(Image.FromFile("D:\\C#\\Przypominacz2 — kopia (4)\\przypominacz\\przypominacz\\Resources\\checked.png"));
                listView1.SmallImageList = imageList;
                var listViewItem = listView1.Items.Add("Item with image");

            }
        }

現在看起來: 沒有img

但應如下所示: 使用img

您是將新的ListViewItem添加到現有列表中,而不是更改選定的列表。 您可以這樣做:

if(rezultat)
{        
    ImageList imageList = new ImageList();
    imageList.Images.Add(Image.FromFile("D:\\C#\\Przypominacz2 — kopia (4)\\przypominacz\\przypominacz\\Resources\\checked.png"));
    listView1.SmallImageList = imageList;

    for (int i = 0; i < listView1.Items.Count; i++ )
    {
        if (listView1.Items[i].Selected)
            listView1.Items[i].ImageIndex = 0;
    }
}

要從資源向ImageList添加圖像,請看一下這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM