列表框不显示
Listbox not showing
所以这可能是一个简单的问题,但我刚刚开始学习 C# 的精妙艺术,所以如果我遇到了一点点,请原谅我 'green'。
我一直在试验盒子。确切地说,最近的列表框。在我的 class 中,我有以下内容:
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 会以某种方式像 MessageBoxes 那样工作。
我有一个:
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);
但是这仍然没有显示我的漂亮盒子。
请指教
您需要将列表框添加到表单的容器中(例如面板或表单本身)。
例如
MyForm.Controls.Add(lb)
或
panel1.Controls.Add(lb)
你不需要做
lb.Show();
如 Microsoft msdn 上所写,message box:
Displays a message box that can contain text, buttons, and symbols
that inform and instruct the user.
和 ListBox:
Represents a Windows control to display a list of items.
因此您不需要容器(如 Form)来显示消息框,但您需要一个容器(如 ListBox)来显示控件。
更新:
您可能还应该添加如下内容:
form.ShowDialog();
除了 ListBox microsoft 的页面之外,您还应该查看一个关于 Form class 的页面。如果您滚动到页面底部,他们会提供简洁的示例。
所以这可能是一个简单的问题,但我刚刚开始学习 C# 的精妙艺术,所以如果我遇到了一点点,请原谅我 'green'。
我一直在试验盒子。确切地说,最近的列表框。在我的 class 中,我有以下内容:
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 会以某种方式像 MessageBoxes 那样工作。
我有一个:
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);
但是这仍然没有显示我的漂亮盒子。
请指教
您需要将列表框添加到表单的容器中(例如面板或表单本身)。
例如
MyForm.Controls.Add(lb)
或
panel1.Controls.Add(lb)
你不需要做
lb.Show();
如 Microsoft msdn 上所写,message box:
Displays a message box that can contain text, buttons, and symbols that inform and instruct the user.
和 ListBox:
Represents a Windows control to display a list of items.
因此您不需要容器(如 Form)来显示消息框,但您需要一个容器(如 ListBox)来显示控件。
更新:
您可能还应该添加如下内容:
form.ShowDialog();
除了 ListBox microsoft 的页面之外,您还应该查看一个关于 Form class 的页面。如果您滚动到页面底部,他们会提供简洁的示例。