Solved

Copy of Control

Posted on 2001-06-04
10
169 Views
Last Modified: 2010-05-02
two forms are opened.
now i want to copy all the controls from form1 to form2.
how to do this?
0
Comment
Question by:anandmehta
10 Comments
 
LVL 22

Expert Comment

by:rspahitz
ID: 6153489
Select all using mouse, choose copy, switch forms, choose paste.
Repeat for all code in the code Window.

0
 
LVL 22

Expert Comment

by:rspahitz
ID: 6153490
Select all using mouse, choose copy, switch forms, choose paste.
Repeat for all code in the code Window.

So, what's the catch?

0
 

Expert Comment

by:MelissaEvans
ID: 6153499
At run time or design time?
0
 
LVL 8

Expert Comment

by:glass_cookie
ID: 6155360
Hi!

Why don't you do this: Duplicate the form instead.  Assuming that the form is called Form2,

Add this code to a module:

Public Sub LoadNewDoc()
    Static lFormCount As Long
    Dim frmD As Form2

    lFormCount = lFormCount + 1
    Set frmD = New Form2
    frmD.Show
End Sub

Then, to make a duplicate of Form2, add this line:

LoadNewDoc

By the way, do make sure that you do not use te line:

LoadNewDoc

IN FORM2 ITSELF or there will be a memory overflow.

That's it!

glass cookie : )
0
 
LVL 8

Expert Comment

by:glass_cookie
ID: 6156431
Oops!  Sorry about 1 mistake.  You CAN USE IT (ie. LoadNewDoc) in Form2 in the previous case, PROVIDED that you do not place it in the Form_Load() procedure or it would cause the new copy to load another new copy and so on and so forth until all your memory is used up.

That's it!

glass cookie : )
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:anandmehta
ID: 6157029
i want to copy all controls at the run time not at the design time.
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 6157043
If might make more sense to simply reference them on on the first form, or make the first form flexible enough to accomodate both.

Why re-invent the wheel if the first wheel has everything you need except one or two things.

The easier way is to build a form that handles both jobs, then set visible=false for those things you don't need at the moment.  Set visible=true when you DO need them.
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 6157080
Create a custom user control and create instances of it on each form.
0
 
LVL 8

Accepted Solution

by:
glass_cookie earned 100 total points
ID: 6158431
"i want to copy all controls at the run time not at the design time"

This works during runtime.

Public Sub LoadNewDoc()
   Static lFormCount As Long
   Dim frmD As Form2

   lFormCount = lFormCount + 1
   Set frmD = New Form2
   frmD.Show
End Sub

Then, to make a duplicate of Form2, add this line:

LoadNewDoc
'Load a duplicate of ie. Form2
Note: Do not place LoadNewDoc in the Form_Load() procedure.  You could also change "Form2" to whatever form name you have.

That's it!

glass cookie : )
0
 
LVL 8

Expert Comment

by:glass_cookie
ID: 6158436
What would happen would be that an identical Form2 would appear.  Before the frmD.show line, you could add some stuff like frmD.Caption = "Duplicate" or whatever.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now