【问题标题】:Adding USER CONTROL to VB6 form on load?在加载时将用户控制添加到 VB6 表单?
【发布时间】:2015-12-27 23:48:23
【问题描述】:

我有一个将显示客户信息的表单。我所做的是创建了一个用户控件,其中有一堆文本框并排排列,用于 Fname、Lname、Dob、SSN 等。在表单本身上,我创建了用户控件的副本,但带有标签以显示我将在用户控制本身中的信息。所以在 FORM_LOAD 上,我从服务器中提取数据,我需要它来添加与数据库中的客户端一样多的 USER 控件。我看到的问题是,每次我用这个语句添加一个控件时

Dim myCtl As Control
Set myCtl = Controls.Add("Project1.UCclient", "MyCtl", frmClientUC)
        myCtl.Visible = True

....用户控件名称加一。所以我在表单上添加的第一个是 ucclient1,然后如果我添加另一个它的 ucclient2,依此类推。此外,我在其中一个用户控件中加载了数据(只是为了确保它有效),我必须指定我引用的是哪个 ucclient。因此,对于我加载的第一个数据,我从 SQL-SERVER 中选择了数据,然后执行此操作...

ucclient1.fldFirstName =RS!FirstName
ucclient1.fldLastName = RS!LastName

...对于所有其他字段,依此类推。因为我必须指定我将数据放入的用户控件表单,所以有没有办法让它自己增加它?可能循环?我是 VB6 的新手,我只是很难在没有 1000 行代码的情况下和谐地完成这项工作。

【问题讨论】:

标签: user-controls vb6


【解决方案1】:

您可以按照您可以控制的方式进行操作。在设计模式下将一个控件放在窗体上。将其 index 属性设置为 0 以使其成为控件数组。 (如果您有一个不需要任何控件的上下文,则使其不可见,然后在需要时使其可见。)然后根据需要添加更多控件,设置 Top 和 Left 属性以将它们定位在页面。

Here 是在运行时将控件添加到控件数组的文档。

【讨论】:

    【解决方案2】:

    好的。我发现了一个新方法。它运作良好。 + 在 form1 中,添加一个新的用户控件 (U1)。 + 将代码 U2(另一个项目的用户控件)复制到 U1。用相同的名称保存它。 + 关闭 U1 + 在 Form1,打开 ToolBox 并单击 U1。出现一条错误消息,您会看到缺少控件名称(缺少名称)。 + 打开U2的属性。选择缺少的名称以查看控件类型。 + 打开 U1 并添加控件并将其命名为相同的名称(缺少名称)。 + 返回Form1,点击工具箱中的U1,添加控件U1。 + 使属性 U1 与 U2 相同。 对不起我的英语。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多