Opening Form By Type Or Name

Jul 17, 2003

How to create an instance of a form if it is not know in advance which formtype has to be opened. If you want to skip the chitchat: the .NET code example is at the end of this post. First the Symantec: when we create a new form, this form has a name. If we refer to that name, we actually refer to the name of the type of object that is just created. When to use of course when reading the subject you might think: why not just pass the form to a parameter that takes a form (or control/object)?

The answer is: you don't when it is not sure, when or if a new instance of the object has to be created or, as mentioned, when the procedure is called it is not known which class has to be created. You could of course hold a bunch of created objects, but that would be a shameless misuse of memory. Imagine the following scenario (seen something like this in a post, but can't find it anymore):

You have a class that is able to trap an event, say the doubleclick of a textbox, and has to open a form when it occurs. If it's always the same form, that's easy, but what if you want it to be determined during runtime? This is a quite common story: doubleclick on article opens the detail form of that article, doubleclick on supllier opens that particular form. If you use a form variable, how do you say to the class which form should be opened? This will not work

Code:
Dim FormToOpen as Form 'you don't want to open it right away, you want to know when the time comes what form to openFormToOpen = Form1You could say FormToOpen = new Form1, but then 1. an instance would be immediately created, even if it never will be used: memory leak. 2. you can never close the form, you'll always have to use the same instance created when setting the form. Consequently, you can never open more than 1 instance using this way.

The solution: use the type. If you know the type, the Activator class will enable you to open (and return) an instance of that form at any time and as much times as you like. (The Activotor class exposes the function CreateInstance which returns an instance of the specified object)The following code creates an instance of the type form1 and shows it.

Code:
CType(Activator.CreateInstance(GetType(Form1)), Form).Show()Or for better readability, the same code split up:
Code:
Dim FormToOpen As Type
FormToOpen = GetType(Form1)
Dim frm As Form = CType(Activator.CreateInstance(FormToOpen), Form)
frm.Show()

View 4 Replies


ADVERTISEMENT

Opening Form - Expression Cannot Be Converted To Type TextBox

Mar 13, 2011

A week ago, I encounter an error while doing my project. I failed to open certain form in vb.net. While clicking a button to show the form this will came out.
"[An error occurred creating the form. See Exception.InnerException for details. The error is: Argument 'Expression' cannot be converted to type 'TextBox']".

View 3 Replies

VB 2010 Express - Create A Search Form That Allows Opening Any Of The Spread Sheets That Contains The Type Of Data

Feb 17, 2012

I have a bunch of Excel files full of research data. Everything is strait forward: rows of research categories and columns of research parameters. I want to create a simple search form that allows opening any of the spread sheets that contains the type of data that I specify. For example, I would choose a parameter

[Code]...

View 5 Replies

Opening Different Forms Depending On Account Type?

Apr 13, 2012

I've just finished creating a basic login system which enables you to create an account and select either a "Student" or "Teacher" account.

Once the account is created it's stored in an Access 2007 database. The field the account type gets stored in is called AccountType. When users log in with their unique username and password I want the program to take them to a different form depending on whether they have a student or teacher account.

View 2 Replies

VS 2005 : Error In Opening An Excel File : Old Format Or Invalid Type Library

Feb 24, 2012

I am trying to open an Excel file using the following commands:

xlsWB = xlsApp.Workbooks.Open(filename, , True)

where 'filename' is the name of the file.However I am getting the following error message:

Message = "Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))"

I originally developed an application where I used the above code with default language setting of "English" (under regional and language settings). When I am changing the language setting to "French", the above errror comes up. I am changing the language setting to French in order to simulate an error when this application is run in a French version computer.

View 3 Replies

VS 2010 : Make A Form With Multiple Buttons Opening Different Things Than Having A Form That Has Lots Group Boxes For Each Tab?

Jul 25, 2011

Is there a better way to make a form with multiple buttons opening different things than having a form that has lots group boxes for each tab. So in the begining each box will be invisible and when you click the button the corresponding group box will become visible. Is there any other way?It will be like a background image and it'll have buttons that will mask it with invisible buttons. when the button is clicked it will open the corresponding group box.

View 5 Replies

Error While Opening Form In Designmode, Pressing F5 Opens Form

Jan 15, 2009

Whenever I want to reopen a project that I didn't worked on for several month and want to view my form in design mode I receive following error.

Warning1Method not found: 'Void System.Windows.Forms.Design.ParentControlDesigner.WndProc(System.Windows.Forms.Message ByRef)'.00

[Code]....

I used this project in VB2005 express, but also in VB2008.

View 4 Replies

Forms :: Main Form Minimized After Opening Form In A Different Thread?

Jun 7, 2009

In the main form the user can choose to download information from a device.Since this request takes time, when "download information" is pressed I open new form in a separate thread: Private Sub RunDownload()

[Code]...

View 3 Replies

Winforms - Know The Event Order Of Form Which Is Executed While Opening Form

Jun 30, 2011

I would like to know the event order of form which is executed while opening form. I am showing my form using following code and the code in form_load event executes twice. Once when the form variables are initialised and second when form is displayed. I want it to execute once only. form showing code:

[Code]...

View 1 Replies

Form Is Not Opening?

Feb 10, 2010

I have a module with Main(). I am calling a form1 from this Main(). Why Form1 is not opening. I set Main() to run at the first in my Project propertis. I am using VS2008.Net3.5 VB code.The Code is:

Module Module1
Public frm1 As Form1
Public Sub Main()
frm1 = New Form1

[code]....

View 17 Replies

Opening A Program And Type Something In Their Textbox Or Click On Button Of Program?

Mar 21, 2011

opening a program and type something in their textbox or click on button of program if you can tell me refrence or .net platform class that can i access to another filed program

View 12 Replies

Close First Form When Opening A Second Form?

Dec 12, 2011

I have two forms and a button on the first form. What i want is when i click the button the second form to show and the first one to close.But this isn't working with:

Form2.show()
Me.close

View 4 Replies

Correct Way Of Opening A Form?

Apr 10, 2009

I am a bit confused on the correct way of opening a form. I generally practiced form1.show to open a form, but i came across the following code to open an form.[code]....

View 9 Replies

Error When Opening Another Form?

May 19, 2012

I am creating a simple email application which sends mail from a user's Gmail account, as I haven't worked out how to receive incoming mail yet.I have created a form (frmSignIn) which asks for the log-in info and another (frmComposeMessage) which has all text boxes necessary for composing an email (to, subject, message body).After clicking Sign In on the first form, it should hide it and open the second form, however I get this error:

System.InvalidOperationException was unhandled
Message=An error occurred creating the form. See Exception.InnerException for details. The error is: Object reference not set to an instance of an object.

[code].....

View 6 Replies

Form Closing And Opening

Dec 5, 2011

I have form1 and form2 and have when a user clicks on an icon on form1 it shows form2 and hides form1. But how would I get it to when a user closes form2 it will show form1 again?

View 3 Replies

Opening A Form Externally?

Mar 8, 2012

I have 2 separate projects that i created using Visual Basic 2010. I need to have a Command button in project 1 to open a specific form that i have in my 2nd project.

View 1 Replies

Opening A Form With A String?

Nov 11, 2010

I have a program withmultiple Forms and i have made a back and Forward Button so they caneasilgo back to the previous Form.My question is How do you open a random Form with a string i have googled it nd this code is the best one i have found.

View 1 Replies

Opening New Screen In Same Form?

Nov 24, 2009

I'm trying to create a new screen in the same form, the only thing I've done closest to doing that is when you click on a button in one form, another form opens. But I'd like this action to be presented in the same window. So I guess I want to open multiple forms in the same window.

View 1 Replies

Opening Programs In Form?

Nov 13, 2010

i want to open progream in my Form,like:(The picture edited in Photoshop)

View 2 Replies

Opening The Same Form 2 Times?

Jul 19, 2011

Just as the title says there is a way to have the same 'Windows Form' to open two times ?

View 2 Replies

Randomly Opening A Form

Nov 10, 2009

I'm making a program where the user can choose a question section and the program is supposed to randomly open one of a few forms that contain questions. However, I can't get the code right.

[code...]

View 2 Replies

VB Form To EXE/Opening IExplore?

Aug 19, 2011

I need to send this to my other admins on my forums so they have access to editing my website andeverything when they need to, but I don't know how to make it distributable (or

View 1 Replies

VB2008 - Opening A New Form?

Jan 16, 2009

Okay, so I was making a program, and I wanted to open a new form, and close the current one.Natuarlly, I did this.

If login = True Then
MsgBox("Logged in.")
Me.Close()

[code].....

View 3 Replies

Vs2008: Why Form Is Not Opening

Mar 30, 2010

I have a project in VS2008.Net3.5 with a Module1, form1 and form2.

[Code]...

Question: At the beginning I am opening form1 from sub Main(). Now from the menu I am openning form2. In form2 I am clicking Done button to hide form2 and go back to form1. It works fine in the 1st trial. Keeping form1 open for the 2nd time, I opened form2 from the menu. Now when I Click the Done button 2nd time it just hides up everything. Form1 does not show UP. It just exits the whole application. But in my btnDone event, I have frm1.show().

View 6 Replies

Code Is Opening A New Second Instance Of The First Form?

Sep 16, 2010

I have 3 forms, say Form1, Form2, Form3. Form1 has a public method assigning an image to a picture box:

[code]...

The problem is that this code is Opening a new second instance of the first form (Form1), when I see in debug mode and move my cursor over the frmPers variable, It's value is Nothing, altough I am seen it at the screen ¿Why is this? I am loosing my hair after three days trying several forms to do it without any results.

View 2 Replies

Combo Box Activates On Form Opening?

May 15, 2009

I have created a main form in my program to which I have added a combo box containing 12 months of the year. What I want is when the selected month is changed it should call a subroutine which does a calculation. The procedure works but the combo box acts as if the selected item has been changed as the form is opening which is not what I want as at that time there is no data loaded for the procedure to do it's calculation. So what I want to know is, is there some way to prevent the combo box from behaving this way at start up?

View 5 Replies

Form Auto-Opening And Closing

Dec 25, 2011

I want it to open and close after 3 seconds at each Timer1.Tick What i got so far:

[Code]...

View 3 Replies

Forms :: Closing And Re-opening The Same Form

Feb 22, 2010

I am attempting to find a way to get an existing form to close and re-open (with the controls re-set). If I use a method like

[Code]...

View 4 Replies

Forms :: Opening Form Using A Threadpool?

Sep 15, 2009

I want to open a VB.net form using a ThreadPool with a maximum of 10 threads. I need to do this because, the form should open based on a live event and i need atmost 10 forms on the desktop at a time. If i open the form on every live event without using a ThreadPool, the desktop will be floaded with many forms. I am using QueueUserWorkItem method of threadpool to queue a method which opens the form. In this queued method, there is form1.show() statement called. But after displaying the form, this method finishes execution and again we have 10 threads available in the system. I somehow want to either keep this method running so that 1 thread is occupied or i want to keep the thread alive till the form1 is closed by the user. I want the 11th form to appear on the desktop, only when any of the existing forms out of the 10 (already on desktop) is closed.

View 2 Replies

MDI Child Form Not Opening Correctly

Jun 24, 2011

I have an MDI form on which I am trying to open two other forms in the same place (not at the same time). One works, one doesn't. Both of these forms have the following as the very first statement in the load event.

One form opens in that location and functions fine. The other form, which is the same size, seems to spread out across the MDI form top-to-bottom wise. There is also a bar at the top with min, max, and close buttons that came from where I don't know as the form is set with no border. This form must open in the correct way as there is a menu at the top of the MDI. Anybody have any idea why this is happening? Some property or something which is different between the 2 forms?[code]...

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved