none
如何在有数据源的情况下,在窗体中自动生成控件界面?(visual studio professional 2010 C#) RRS feed

全部回复

  • 需要写界面生成代码,根据数据。例子

    DataTable table=...

    foreach(DataRow row in table.Rows)

    {

        TextBox texbox=new TextBox();

       textbox.Name=row["controlId"];

       textbox.Text=row["Text"];

       texbox.Location=new Point(x,y);

       this.Controls.Add(textbox);

    }


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年9月6日 0:28
  • Hi,

    感谢你在MSDN论坛发帖。

    你是想动态的生成控件吗?

    你可以参考下面的代码:

    using System;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            int cLeft = 1;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                AddNewTextBox();
            }
    
            public System.Windows.Forms.TextBox AddNewTextBox()
            {
                System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox();
                this.Controls.Add(txt);
                txt.Top = cLeft * 25;
                txt.Left = 100;
                txt.Text = "TextBox " + this.cLeft.ToString();
                cLeft = cLeft + 1;
                return txt;
            }
        }
    }
    

    更详细的内容,你可以参考下面的文档。

    http://csharp.net-informations.com/gui/cs-listbox.htm

    Best Regards,

    Hart

    注意:此回复包含对第三方万维网站点的引用。 Microsoft提供此信息为您提供方便。 Microsoft不控制这些网站,并且没有测试在这些网站上发现的任何软件或信息; 因此,Microsoft不能对任何软件或信息的质量,安全性或适用性做任何声明。 使用互联网上发现的任何软件都存在固有的危险,Microsoft警告您,在从互联网检索任何软件之前,请确保您完全理解风险。


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年9月6日 2:34
    版主