【问题标题】:Adding textboxes over the panel height在面板高度上添加文本框
【发布时间】:2016-07-06 20:43:00
【问题描述】:

所以我需要通过单击按钮将文本框添加到面板中。每次单击都会在最后一个文本框下添加一个文本框,依此类推。但是当它超过面板高度时,即使 int 仍然相同,它也会突然在 texbox 之间产生更大的空间。 到目前为止,这是我的代码。

List<TextBox> textboxes = new List<TextBox>();
private void button1_Click(object sender, EventArgs e)
{
    tbY += 30;
    TextBox tb = new TextBox();
    tb.Left = 3;
    tb.Top = tbY;
    tb.Font = new Font("Verdana", 12, FontStyle.Bold);
    tb.Size = new Size(325, 25);
    tb.BorderStyle = BorderStyle.None;
    button1.Top = tbY;
    panel1.Controls.Add(tb);
    textboxes.Add(tb);
    ScrollToBottom(panel1);
}

【问题讨论】:

    标签: c#


    【解决方案1】:

    您不妨为此使用 flowLayoutPanel。在您的 flowLayoutPanel 上使用以下属性,它会按您的意愿工作。 (无需手动计算)

            List<TextBox> textboxes = new List<TextBox>();
            public Form1()
            {
                InitializeComponent();
                flowLayoutPanel1.FlowDirection = FlowDirection.TopDown;
                flowLayoutPanel1.WrapContents = false;
                flowLayoutPanel1.AutoScroll = true;
            }
            private void button1_Click(object sender, EventArgs e)
            {
    
    
               TextBox tb = new TextBox();
                tb.Left = 3;          
                tb.Font = new Font("Verdana", 12, FontStyle.Bold);
                tb.Size = new Size(325, 25);
                tb.Text = tb.Top.ToString();            
                tb.BorderStyle = BorderStyle.None;           
                flowLayoutPanel1.Controls.Add(tb);
                textboxes.Add(tb);
    
            }
    

    【讨论】:

      【解决方案2】:

      ControlTop 是相对于其Parent 的滚动位置计算得出的。

      您总是滚动到Panel 的底部,因此您需要像这样设置它,同时考虑当前滚动位置:

      tb.Top = tbY + panel1.AutoScrollPosition.Y;
      

      请注意,当您向下滚动时,AutoScrollPosition.Y否定,所以我们需要添加它!

      【讨论】:

        猜你喜欢
        • 2013-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-08
        • 2012-01-16
        相关资源
        最近更新 更多