Copy of Control

two forms are opened.
now i want to copy all the controls from form1 to form2.
how to do this?
anandmehtaAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
glass_cookieConnect With a Mentor Commented:
"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
 
rspahitzCommented:
Select all using mouse, choose copy, switch forms, choose paste.
Repeat for all code in the code Window.

0
 
rspahitzCommented:
Select all using mouse, choose copy, switch forms, choose paste.
Repeat for all code in the code Window.

So, what's the catch?

0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
MelissaEvansCommented:
At run time or design time?
0
 
glass_cookieCommented:
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
 
glass_cookieCommented:
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
 
anandmehtaAuthor Commented:
i want to copy all controls at the run time not at the design time.
0
 
rspahitzCommented:
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
 
Éric MoreauSenior .Net ConsultantCommented:
Create a custom user control and create instances of it on each form.
0
 
glass_cookieCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.