列表框没有显示

时间:2015-04-17 09:49:53

标签: c# winforms listbox

所以这可能很简单,但我刚刚开始学习C#的微妙艺术,所以请原谅我,如果我觉得有点'绿色'。

我一直在试验盒子。 ListBoxes最近,确切地说。在我的班上,我有以下内容:

ListBox lb = new ListBox();

lb.Location = new System.Drawing.Point(12, 12);
lb.Name = "ListBox1";
lb.Size = new System.Drawing.Size(245, 200);
lb.BackColor = System.Drawing.Color.Blue;
lb.ForeColor = System.Drawing.Color.Green;  

lb.Items.Add("Element One");
lb.Items.Add("Element Two");
lb.Items.Add("Element Two");

lb.Show();

现在,我一直在假设ListBox以某种方式像MessageBox那样工作。

我有一个:

var confirmResult = MessageBox.Show("Question asking about " + variable + "?", "TitleHere", MessageBoxButtons.YesNo);

......我认为ListBox的工作方式大致相同?

问题是,它没有。

MessageBox突然出现,但ListBox无处可见。

我错过了什么吗?

更新

好的,所以Form是他们说的方式。

我试过了:

ListBox lb = new ListBox();

lb.Location = new System.Drawing.Point(12, 12);
lb.Name = "ListBox1";
lb.Size = new System.Drawing.Size(245, 200);
lb.BackColor = System.Drawing.Color.Blue;
lb.ForeColor = System.Drawing.Color.Green;  

lb.Items.Add("Element One");
lb.Items.Add("Element Two");
lb.Items.Add("Element Two");

Form f = new Form();
f.Controls.Add(lb);

Buuut这仍然没有显示我漂亮的盒子。

请告知。

2 个答案:

答案 0 :(得分:3)

您需要将列表框添加到表单上的容器(例如面板或表单本身)。

e.g。

MyForm.Controls.Add(lb)

panel1.Controls.Add(lb)

你不需要做

lb.Show();

答案 1 :(得分:1)

正如在Microsoft msdn上所写,message box

  

显示可包含文本,按钮和符号的消息框   告知并指导用户。

ListBox

  

表示用于显示项目列表的Windows控件。

所以你不需要一个容器(比如Form)来显示一个messageBox,但你需要一个控件,比如ListBox。

<强>更新

您可能还应该添加以下内容:

form.ShowDialog();

除了ListBox微软的页面,您还应该查看一个关于Form class的内容。如果滚动到页面底部,它们会有很好的例子。