【发布时间】:2015-11-18 16:43:09
【问题描述】:
我正在开发一个 Windows 窗体应用程序。我的一个要求是在标签页内单击按钮创建新的文本框。这是我在按钮(btnAdd)点击事件中所做的:
TextBox textBox1 = new TextBox();
textBox1.Name = DateTime.Now.ToString() + "textbox";
textBox1.Text = DateTime.Now.ToString() + "textbox";
textBox1.Size = new Size(200, 30);
textBox1.Location = new Point(tbpEx.Left + 20, loc);
tbpEx.Controls.Add(textBox1);
loc = textBox1.Height + 20 ;
这样我就可以得到一个在另一个之下的文本框。但是我点击了按钮,文本框被添加了,但是在 2 个文本框之后就没有更多的文本框可见了。
我试图在计算 tbpEX 中控件的表单上放置另一个按钮 (btnCnt)表单)。在此按钮中单击我有此代码:
foreach (Control c in tbpEx.Controls)
{
lblMsg.Text = lblMsg.Text + c.Name + ":" + c.Parent.Name + Environment.NewLine;
}
我已经点击了 btnAdd 7 次,但我只能看到 2 个文本框。但是,当我单击 btnCnt 时,lblMsg 会显示 7 个文本框。
为什么我看不到其他文本框?
【问题讨论】:
-
也许它们只是不可见,因为例如父级 (tbpEx) 太小而无法全部容纳? :)
-
添加两个文本框后,标签页(垂直)有很多可见区域。而且标签页设置为滚动,所以即使不可见区域很小,也应该请允许我滚动。
-
可能有,但是如果 tbpEx 的大小被明确设置,那么它不会扩展以适应所有这些,尝试为 tbpEx 设置一个停靠以覆盖整个表单,或者只是设置它的大小比你想要适应的按钮大得多,你也可以尝试减小按钮的大小,看看是否会有更多的按钮出现:)
标签: c# .net windows-applications tabpage