繁体   English   中英

使用C#将数据绑定到Winforms中动态创建的文本框中

[英]Binding Data into a dynamically created textboxes in winforms using c#

我最初在groupbox的mainForm上有3个文本框。 当我在3个文本框中的任何一个上按Enter时,它会动态创建另外3个文本框,依此类推。.用于创建动态文本框的代码是这样的:

private void createTextBoxes(GroupBox groupbox)
    {
        x = 6;
        y += 40;
        x1 = 223;
        y1 += 40;
        x2 = 440;
        y2 += 40;

        TextBox tbparticular = new TextBox();
        tbparticular.KeyDown += new KeyEventHandler(textBoxParticular_KeyDown);
        TextBox tbQty = new TextBox();
        tbQty.KeyDown += new KeyEventHandler(textBoxQty_KeyDown);
        TextBox tbRate = new TextBox();
        tbRate.KeyDown += new KeyEventHandler(textBoxRates_KeyDown);


        tbparticular.Size = new Size(207, 20);
        tbQty.Size = new Size(207, 20);
        tbRate.Size = new Size(207, 20);

        tbparticular.Location = new Point(x, y);
        tbQty.Location = new Point(x1, y1);
        tbRate.Location = new Point(x2, y2);

        groupbox.Controls.Add(tbparticular);
        groupbox.Controls.Add(tbQty);
        groupbox.Controls.Add(tbRate);
        groupbox.Height += 20;
        //Particularpanel.Height += 20;
        //Form1.height
    }
private void textBoxParticular_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            createTextBoxes(this.groupBoxProperties);
        }
    }
private void textBoxRates_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            createTextBoxes(this.groupBoxProperties);
        }
    }
private void textBoxQty_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            createTextBoxes(this.groupBoxProperties);
        }
    }

现在,当创建文本框时,我想在表中插入一条记录。 我的问题是每次如何在动态创建的texbox上执行插入操作。 有什么建议么?

如果我已正确理解该问题,则无法访问该方法之外的元素。

您应该使用一些全局数组,例如

TextBox[] tbparticular = ...

因此,您可以使用此元素来完成所有所需的操作。

tbparticular[34].Text = "some text";

您可以读取数据库中的所有数据,例如

foreach(TextBox t in tbparticular)
{
    AddToDB(t.text)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM