c# - 看不到其他文本框

标签 c# .net windows-applications tabpage

我正在开发 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 个文本框之后没有更多的文本框可见。

我试图在表单上放置另一个按钮(btnCnt)来计算 tbpEX 中的控件(我在这个标签页中没有其他控件(事实上它是唯一的控件 - 这也是一个标签页 - 在表单)。在这个按钮中点击我有这个代码:

        foreach (Control c in tbpEx.Controls)
        {
            lblMsg.Text = lblMsg.Text + c.Name + ":" + c.Parent.Name + Environment.NewLine;
        }

我已经点击了 7 次 btnAdd,但我只能看到 2 个文本框。但是,当我单击 btnCnt 时,lblMsg 会显示 7 个文本框。

为什么我看不到最重要的文本框?

最佳答案

你用这条线将文本框一个放在另一个上

 loc = textBox1.Height + 20 ;

应该是

 loc = loc + textBox1.Height + 20 ;

关于c# - 看不到其他文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33785635/

相关文章:

c# - 泛型方法多重 (OR) 类型约束

c# - 如何将查询字符串转换为 json 字符串?

c# - 我需要带有称重选项的随机算法

vb.net - 在 VB.Net 中将 Doc 文件转换为 PDF

c# - 在 JavaScript 中使用服务器端资源

c# - Xamarin + WCF + SSL + 传输 + 证书

c# - 从客户端检测到具有潜在危险的 Request.Form 值

c# - 依赖注入(inject)中的 Blazor(服务器)作用域对象创建多个实例

c# - 如何获取本地机器的 IPv4 和 IPv6 地址?

visual-studio - 尝试使用 msbuild 在命令行上构建 Windows App 项目时路径错误