2015-10-10 43 views
0

我试图在C#中动态地添加组合框+一些文本到列表框中它必须显示2个组合框+文本,但它只显示文本如何将多个组合框动态添加到列表框中#

lstboxVideos.Item.Add(subvideo) 

和它显示,如果我写

lstboxVideos.Controls.Add(subvideo) 

只有一个下拉框提示我如何从这个问题

foreach(var video in videos) 
{ 
    var subvideos = video.Descendants("subvideos"); 
    if (subvideos.Count() >= 1) 
    { 
     ComboBox subvideo = new ComboBox(); 
     subvideo.Name = "subvideo" + i; 
     subvideo.Items.Add(video.Attribute("name").Value); 
     foreach(var videoname in subvideos) 
     { 
      subvideo.Items.Add(videoname.Value); 
     } 
     listBoxVideos.Items.Add(subvideo); 
     i++; 
    } 
    else 
    { 
     listBoxVideos.Items.Add(video.Attribute("name").Value); 
    } 
} 
找回
+0

你想要做什么?要显示ComboBoxes或Simple Texts的列表,您不需要使用ListBox。你正在尝试做一个错误的工作。如果你分享的要求,可能会收到更好的答案。 –

+0

为什么不使用'TreeView'并将子视频显示为子节点? –

+0

或者如果您更喜欢使用'ComboBox',则可以使用'FlowLayoutPanel'或'TableLayoutPanel'并添加您的ComboBoxes。 –

回答

0

您可以添加它们是这样的:

var cb = new ComboBox(); 
var t1 = new TextBlock(){Text = "111"}; 
var t2 = new TextBlock(){Text = "222"}; 
var t3 = new TextBlock(){Text = "333"}; 
cb.Items.Add(t1); 
cb.Items.Add(t2); 
cb.Items.Add(t3); 
yourListBox.Items.Add(cb); 
+0

添加一个'ComboBox'到'ListBox.Items'没有任何有用的结果:) –

+0

我必须在特定位置显示一些视频名称,如果该视频具有子视频则表示它具有显示像下拉列表这是我的任务 –

+0

@RezaAghaei:首先我也是这么想的。但是当试图创建它时,它就起作用了!我知道它可能没有用,但现在看来有人需要它! – aisa

相关问题