所以这可能很简单,但我刚刚开始学习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这仍然没有显示我漂亮的盒子。
请告知。
答案 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的内容。如果滚动到页面底部,它们会有很好的例子。