VS 2008 : Why Instantiate A Form Instead Of Form.show
Dec 18, 2009why I need to instantiate a form instead of form.show?
View 20 Replieswhy I need to instantiate a form instead of form.show?
View 20 RepliesI have a program that uses two forms. The program opens to the Main form, and the user can navigate to the other form from the Main form through use of a button. Here's the way I've currently written it: When the Main form loads, it declares and instantiates the other form during the load procedure. When the user presses a button, the second form is displayed by means of the ShowDialog method. On the second form, there is a Return to Main Screen button which closes the second form, bringing the user back to the Main form.
So, here's the structure of the code:
Code:
Public Class frmMainForm
Dim frmSecondForm As New SecondForm
Private Sub btnSecondForm_Click(blah, blah, blah) Handles blah, blah, blah
[CODE]...
Here's my reasoning: Originally, I wrote the code so that a new instance of the second form was created every time the button was pressed. The problem was that whatever data was displayed on the second form, previously, was lost when the user returned to it a second time. Since the user would be switching back and forth between these forms, frequently, I needed that data to persist.
What is the best practice for accomplishing this:
1) Declare and instantiate the second form on program start, as I have done, and use the button simply to show the form?
2) Declare and instantiate the second form each time the button is pressed but maintain the variables on the Main form and pass them ByRef to a custom constructor for the second form? Is this even possible?
3) Something else?
When I use
Me.Close()
Form1.Show()
It closes the whole app.
How would I change it so that it only closes the current form while opening a new one? EDIT: I put [Not Resolved] Because I accidently pressed the resolved thing
Private Sub HideShowTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
[code].....
I have a dual monitor setup on my computer. My program has multiple forms. I've designed the program to check which monitor the main form is currently on and to open the secondary forms on the current monitor. When the main form is on the primary monitor the secondary forms open as FormWindowState.Normal which is the design-time setting for the secondary forms. If the main form is on the secondary monitor and I click to open a secondary form then the secondary form is to be displayed as FormWindowState.Maximised.
[Code]...
So I moved the Form.Show line to after the Form.WindowState line. This works fine when the Form.Show process is very quick. The problem is that one of the secondary forms downloads some information from the internet so it takes about a second to finish the Form_Load process. When I had Form.Show first the form would not appear on screen until the Form_Load process is complete, so the delay was in the form appearing at all which is how I prefer it. With Form.Show last the form appears on screen immediately but appears mostly blank and unresponsive until the Form_Load process completes.
I would prefer that the form not appear at all until the Form_Load process is complete but I would like it to appear in an already Maximised state. Is this achieveable? It doesn't seem that complicated but I just can't figure it out.
What I need to do is create comboboxes populated with values from a CSV for each class object selected from an Active Directory schema.
So lets say twelve classes are selected, the next form will display the class names in a checkedlistbox and will require twelve comboboxes for associating AD classes to CSV fields. Since the number of AD classes selected will always vary, is there a practical way to code it so that the objects can be instantiated from values stored in a variable?
Other languages support macro substitution, where the variable's value is interpreted as a literal at runtime. Developing in Visual Studio 2005, VB version 8 .netFramework 2.0xxx
I'm new in .Net and I have an application with windows form "LOGIN" When users enter the user and password and click "ok", then if user passes validation then I have the code Show(MDIMainMenu) (I'm trying to open an mdi form), but I receive the following error: "Form that is already visible cannot be displayed as a modal dialog box. Set the form's visible property to false before calling Show. Error Number 5"
[Code]...
[code] I can't show the form 2 when i use TAB.tabindex already set into 1.
View 6 RepliesMy mate & Myself are currently building a IRC Client, a problem we have come across is when opening a chatroom the form Freezes for example.
We are currently using arrays so we can open multiple chat rooms and at this current time to open a chat room we use
Channels(ChatIndex).Show()
The form opens but freezes.
I have also tried using
Channels(ChatIndex).ShowDialog()
Application.DoEvents()
Using the above code, the form does not freeze but appears we can not access any of the controls such as (RTB)
What would be causing the form to freeze on .show(), Has anyone else had any similar issues?
I'm making a program, I have added it to the startup now but, How can I make it show the form on startup?
View 2 RepliesI have a "housekeeping Form" set up that...when triggerd by the main form, updates records, sends email, clears and refills an access table all of which runs from a Form.Load Event my problem is the form "PLEASE WAIT WHILE SYSTEM IS UPDATING" will not fully load while all these things are happning I have tried ME.Show and ME. Activate
View 7 RepliesI'm currently uploding using this script:
Dim UserID As String = "MyID"
Dim Password As String = "myPW"
lblUpload.ForeColor = Color.Orange
[Code].....
But when it's uploading it show a new window with a cancel button. how do I hide that window, and if possible show the upload bar in the form that is uploading?
I've made a basic form with a textbox for the username and an OK button, I have no idea how to make it go to the next form when only certain usernames are entered and the OK button is pressed.I also need to find out how to show the username on the next form?
View 5 RepliesHow do I when showing a form, make it randomly pop up on somewhere on the screen? Im using it for allitle game Im putting together
View 6 RepliesIm trying to create a stopwatch in one form and another form show my progress bar using a combo box for mins and seconds to show the progress bar on form1 1
[Code]...
I am trying to use a progressbar to show on main form and then finish when next form is loaded, I have got this code.
1. When I click on button, it must open next form, but the next form must only open when the data in my list box has been loaded from Access Databse. When I run my program, it only shows the progressbar and don't open the next form.
Main form code:
Public Class Main
Dim PB As ProgressBar
Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
[CODE]............................
I need to show a thumbnail of a web page on a VB 2008 form. I have found a number of code snippets that mention something called an IViewObject which can apparently do what I need but the only examples are in C.
View 5 RepliesI want to show (display) a form or even maybe a panel while the user is hovering over a PictureBox.How would these events work?
View 3 RepliesI have settings called set1 and what I want this to do is when I open up a form and I then click close is doesn't show it anymore it shows the original one.
View 11 RepliesHow do i get my first item to show in combo box when form has loaded?
View 6 Repliesi have form1 and form splash..i used the splash as processing indicator i place gif in the splash form...and in form1 i call the splash in separate thread..
like this..
Dim splashthread As Thread = New Thread(New ThreadStart(AddressOf SplashScreen.ShowSplashScreen))
splashthread.IsBackground = True
splashthread.Start()
[code]....
now,my problem is when form1 is loaded and click button process in it..the splash form will not display modally...is it because i called the splash in separate thread?..
I have a background application that has a System.Timers.Timer running in it.When the elapsed event is raised I want to show a form.Now if I call form.showDialog everything is hunky dory. If I call form.show the form is not responding ... Now I suspect that this is happenening because the elapsed event is raised on a secondary thread but that said I dont know how to fix this.
View 10 Repliesim using visual studio 2008 for my thesis. i have this mdi parent form as a container in my program and buttons in it to show different childforms. i am just wondering is it possible to show the childforms in slow motion manner, from left of the container to the center?
[Code]...
VS 2008 form.show in slow motion
View 4 RepliesHow do I get an existing form to show up as a MDIChildForm?
View 3 RepliesI am receiving hex values for my step through debugging when I go over an integer. For instance if i have an integer of 1 it will show &H1, How can I get it to show the ascii character form instead of hex?
View 6 RepliesI'm not sure how to explain what's happening but it seems to be deadlock, i did search along the forum and actualy did find who had the same problem as i did. Unfortunatly i'm too new to this Threading and could not understand why does this deadlocks happen or how to avoid them.I'm using the following
Dim t As New Threading.Thread(AddressOf MyTestingSub)
t.Priority = Threading.ThreadPriority.BelowNormal
t.IsBackground = True
[code].....
Using the code below:
Private Sub ShowDropDown()
Using f As New DropDownForm
f.Visible = True
Do While f.Visible
Application.DoEvents()
[Code]...
This was a guess, after looking at the Form.ShowDialog method in reflector.My question is, is there a managed call I can make to acheive the same result, and what does a button click do that other clicks don't?
ETA: The problem does not occur if I open the form using a key.
This is a database app where I am trying to check for possible duplicates and give the user the option to keep the new record or assign to an existing record.In form1 the user will enter data into a textbox. I use this information to build a bindingsource.filter. Then I call another form (form2.show()) to display results to user and get user response. This part all works correctly.
The problem is that as soon as form2.show() executes, I loose the contents of the textbox - and it appears that I am no longer in the bindingsource.addnew() method.
Iam creating an application. i have a main form it has 5 buttons i have created 5 more forms. my aim is to show a particular form for every button the form is opened in a new window i dont want to open in a new window it should be embed in the main form when i click anthor button it will show the related form in place of previous form
View 2 Replies