[英]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.