calling back a previous form..
-
Ahhh, I think I got it. I think this is my problem. All the while I have been trying to think of the right command to put into the button on form2 to call form1 back out... Obviously you dun have to, I think.. My original Command in the button for form1 is like this. Private Sub btnDataEntry_Click(ByVal sender As Object,_ ByVal e As System.EventArgs) Handles btnDataEntry.Click Dim frmDataEntry As New DataEntry Me.Hide() frmDataEntry.Show() End Sub Taking a deep look to what you mean. I did this changes and everything works like I want it to.. Private Sub btnDataEntry_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDataEntry.Click Dim frmDataEntry As New DataEntry Me.Hide() frmDataEntry.ShowDialog() Me.Show() End Sub Alrite, now I can go ahead with my crazy project.. hehe, Thanz a lot for helping, dude... Really appreciate it lots... Until I hit another dead-end, see you around dude...
No worries - glad to help. That's exactly what I thought your code must look like, and exactly what I was suggesting as a fix. ShowDialog returns an enum called 'DialogResult', that's what you'd use if you wanted to do something based on what button a user clicked to close a child dialog, for example, you'd check if it was DialogResult.OK before doing any processing, the other option being that they pressed cancel and you wanted to do nothing. It's not usual for a form to hide itself while a child form is visible - do you have a good reason to do this, in this case ? It's just not what the average user would expect, based on the behaviour of other applications. Christian Graus - Microsoft MVP - C++
-
I would put a property in form2 such as
public property CalledFrom(frm as Form) Get return m_Frm1 End Get Set(value as Form) m_Frm1 = value End Set
Then in form1 do something such as:dim f as New Form2 f.CalledFrom = me f.Show
Then in form2 call the form from the variable.m_frm.show 'or m_frm.Visible = True may work me.dispose
The main reason that this is a bad idea, is that Form2 should not be responsible for if Form1 is visible or not. It's bad OO. Christian Graus - Microsoft MVP - C++
-
The main reason that this is a bad idea, is that Form2 should not be responsible for if Form1 is visible or not. It's bad OO. Christian Graus - Microsoft MVP - C++
-
Hmm, well, I am not trying to make Form2 reponsible for anything. All I wanted to do is just hide Form1 for a while while I am working on form2 and when I am done with form2 and closes it, form1 will just pop back out..
What you've done above is good. What this other guy suggested is bad, he wants Form2 to contain the code to show Form1. But like I said above, I don't think it's a good idea to hide Form1 necessarily, as I don't know of any other apps that do this. When you call ShowDialog, Form1 will stay visible if you let it, but it won't respond to input. Christian Graus - Microsoft MVP - C++
-
Hmm, well, I am not trying to make Form2 reponsible for anything. All I wanted to do is just hide Form1 for a while while I am working on form2 and when I am done with form2 and closes it, form1 will just pop back out..
But have to agree with Christian though, it does seem rather abnormal that someone would try to do something weird like that. And BTW, Lespaul, thanz for that little bit of code u suggested but sadly, I dun dig it at all... Like I mentioned, I am a new born baby VB.net programmer... Still sucking on milk, so to speak... hehehe
-
What you've done above is good. What this other guy suggested is bad, he wants Form2 to contain the code to show Form1. But like I said above, I don't think it's a good idea to hide Form1 necessarily, as I don't know of any other apps that do this. When you call ShowDialog, Form1 will stay visible if you let it, but it won't respond to input. Christian Graus - Microsoft MVP - C++
-
ohh.. i see... no point in saying what he did is good or not though, since I dun see how his code runs.. :) BTW, you guys have any idea how to implement crystal reports..?
I have no idea, and he won't have got an email notification. Your best bet is to google first, then if you need more info, ask a new question so people who know Crystal Reports see it and can answer it. Christian Graus - Microsoft MVP - C++
-
I have no idea, and he won't have got an email notification. Your best bet is to google first, then if you need more info, ask a new question so people who know Crystal Reports see it and can answer it. Christian Graus - Microsoft MVP - C++
-
Ahhh, I think I got it. I think this is my problem. All the while I have been trying to think of the right command to put into the button on form2 to call form1 back out... Obviously you dun have to, I think.. My original Command in the button for form1 is like this. Private Sub btnDataEntry_Click(ByVal sender As Object,_ ByVal e As System.EventArgs) Handles btnDataEntry.Click Dim frmDataEntry As New DataEntry Me.Hide() frmDataEntry.Show() End Sub Taking a deep look to what you mean. I did this changes and everything works like I want it to.. Private Sub btnDataEntry_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDataEntry.Click Dim frmDataEntry As New DataEntry Me.Hide() frmDataEntry.ShowDialog() Me.Show() End Sub Alrite, now I can go ahead with my crazy project.. hehe, Thanz a lot for helping, dude... Really appreciate it lots... Until I hit another dead-end, see you around dude...
Small problem here. When using
.ShowDialog()
, it's a good idea to dispose the form when your done with it. The form holds open unmanaged resources that should be released when your done with them and not rely on the GC to do it for you whenever it gets around to it.Private Sub btnDataEntry_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDataEntry.Click
Dim frmDataEntry As New DataEntry
Me.Hide()
frmDataEntry.ShowDialog()
frmDataEntry.Dispose()
Me.Show()
End SubRageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-
The main reason that this is a bad idea, is that Form2 should not be responsible for if Form1 is visible or not. It's bad OO. Christian Graus - Microsoft MVP - C++
I have had a few times when it was necessary to hide form1 and then make it visible again when form2 closed. I found that it didn't always become visible again. Probably a focus issue and I have not had to deal with that very much in vb.net. While I agree that it is a dirty way of doing it, it worked.