簡體   English   中英

是否可以使用 c# 和 winforms 將面板等元素添加到列表框、列表視圖或其他帶有.items 值的列表?

[英]is it possible to add elements like panel to a listbox, listview or other list with .items value using c# and winforms?

是否可以將面板等元素添加到列表框、列表視圖或其他帶有.items 的列表?

我想在面板上創建帶有標簽、復選框、按鈕等其他元素的面板。 然后面板應該在一個列表中,以便我可以檢查它,例如:復選框(在面板上)並且在列表中處於活動狀態正在顯示,其他元素應該隱藏在列表中。 如果一個面板位於兩個面板之間,它應該向上移動,這樣中間就沒有空間了。 如果我只顯示未激活元素的面板,則應再次顯示隱藏的面板,並隱藏顯示的面板。

我想使用按鈕事件來控制這個顯示,

  • 展示一切,
  • 僅激活和
  • 只能停用。

如果它被宣布為收藏夾,我希望能夠使用另一個按鈕將面板帶到頂部 position。 如果收藏夾再次被刪除,它應該 go 回到原來的位置。

此外,我想創建一個搜索掩碼,僅在輸入時顯示與搜索字符串匹配的元素。

我發現的唯一方法是使用 listbox1.Controls.Add(panel1); 讓它出現。 不幸的是,它不適用於 listbox1.Items。 :( 所以我也沒有 selectedItem ......

這是我到目前為止的代碼:

    private void Reload_Click(object sender, EventArgs e)
    {
        Panel panel1 = new Panel();
        panel1.Size = new Size (250, 35);
        panel1.BackColor = Color.Red;
        panel1.ForeColor = Color.Green;
        panelxy.Dock = DockStyle.Top;

        Panel panel2 = new Panel();
        panel2.Size = new Size(250, 35);
        panel2.BackColor = Color.Blue;
        panel2.ForeColor = Color.Green;
        panel2.Dock = DockStyle.Top;

        listBox1.Controls.Add(panel1);
        listBox1.Controls.Add(panel2);

        Button btn_1 = new Button();
        btn_1 .Size = new Size(200, 30);
        btn_1 .Location = new Point(5, 2);
        btn_1 .ForeColor = Color.Blue;
        btn_1 .BackColor = Color.Yellow;
        btn_1 .Font = new Font("Sitka Text", 15F, (FontStyle)(FontStyle.Bold | FontStyle.Italic), GraphicsUnit.Point, (byte) 0);
        btn_1 .Text = "testbutton";
        panel1.Controls.Add(btn_1 );
    }

這里有一張圖片來顯示:

列表框元素

我希望有人可以在這里幫助我。 :) 謝謝和BR

粗魯的

超級感謝!

我剛剛發現可以使用 TableLayoutPanel 實現所需。 :)

由於我已經有大約 7000 行代碼,我不想將其轉換為 WPF。 ;) 我認為來自“Jimi”和 FlowLayoutPanel 的答案也是一個解決方案。 :) 謝謝

BR 庫西

暫無
暫無

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

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