Consulta de principiante

07/08/2004 - 06:40 por V | Informe spam
Antes que nada me presento son Virginia y soy de Argentina, hace un par de
dias me instale el Visual Studio Net Enterprise Architect, hasta ahi todo
bien.
Mi consulta de principiante es la siguiente...(antes busque en google todo
tipo de ayuda hasta que dije voy al grupo y me explicaran mejor)

tengo 2 formularios
primer formulario
Prog1 (con una imagen y un boton que dice pulsar)
en el codigo del boton pulsar tengo lo siguiente

Option Explicit On

Public Class Prog1

Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()

MyBase.New()

'This call is required by the Windows Form Designer.

InitializeComponent()

'Add any initialization after the InitializeComponent() call

End Sub

'Form overrides dispose to clean up the component list.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'Required by the Windows Form Designer

Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer

'It can be modified using the Windows Form Designer.

'Do not modify it using the code editor.

Friend WithEvents BTN As System.Windows.Forms.Button

Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

Dim resources As System.Resources.ResourceManager = New
System.Resources.ResourceManager(GetType(Prog1))

Me.BTN = New System.Windows.Forms.Button()

Me.PictureBox1 = New System.Windows.Forms.PictureBox()

Me.SuspendLayout()

'

'BTN

'

Me.BTN.BackColor = System.Drawing.Color.DarkCyan

Me.BTN.FlatStyle = System.Windows.Forms.FlatStyle.Flat

Me.BTN.ForeColor = System.Drawing.SystemColors.ControlLightLight

Me.BTN.Location = New System.Drawing.Point(168, 192)

Me.BTN.Name = "BTN"

Me.BTN.Size = New System.Drawing.Size(112, 24)

Me.BTN.TabIndex = 1

Me.BTN.Text = "PULSAR"

'

'PictureBox1

'

Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"),
System.Drawing.Bitmap)

Me.PictureBox1.Location = New System.Drawing.Point(16, 48)

Me.PictureBox1.Name = "PictureBox1"

Me.PictureBox1.Size = New System.Drawing.Size(432, 112)

Me.PictureBox1.TabIndex = 2

Me.PictureBox1.TabStop = False

'

'Prog1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.BackColor = System.Drawing.Color.SlateGray

Me.ClientSize = New System.Drawing.Size(456, 253)

Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.PictureBox1,
Me.BTN})

Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None

Me.Name = "Prog1"

Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen

Me.Text = "Programa de Prueba"

Me.ResumeLayout(False)

End Sub

#End Region

Private Sub BTN_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BTN.Click

Dim uno As Prog1

uno = New Prog1()

uno.Activate()

uno.Close()

Dim frm As panta2

frm = New panta2()

'frm.ShowDialog(Me)

frm.Show()


segundo formulario
Panta2 (con una imagen y un boton que dice cerrar)
en el codigo del boton cerrar tengo la sintaxis end para salir del programa

mi pregunta es la siguiente, yo lo que quiero es que al clickear el boton
pulsar del primer form aparezca el segundo formulario pero que desaparezca
el primero... porque no se va... queda abajo... no logro darme cuenta yo
en VB6 lo hacia perfectamente, pero no logro encontrar en donde haya un
ejemplo para VBNET.

Pido disculpas si mi pregunta es muy obvia, pero es mi primer programa en
VBNET y no logro hacerlo bien, si no es este grupo para mi consulta por
favor diganme adonde me tengo que dirigir porque me estoy volviendo loca...
Gracias
Lic Maria Virginia Dell'Arciprete
Bs As - Argentina
www.archisoft.com.ar

Preguntas similare

Leer las respuestas

#1 Tristan
07/08/2004 - 13:32 | Informe spam
Bueno, no es que sea muy obvia, pero si es que es una pregunta repetida por
aquí, si. :-)

Hay muchas maneras de resolverlo. La mejor creo, es plantear las cosas al
revés, establecer como principal el segundo formulario. En el Load del
principal, es decir mientras todavía no es visible, cargas el primero.

Pero se explica mucho mejor con código:

class FormPrincipal
inherits System.Windows.Forms.Form
...
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dim f As New FormLogin
If f.ShowDialog() <> DialogResult.OK Then
Me.Close()
End If
End Sub
end class

Public Class FormLogin
Inherits System.Windows.Forms.Form
...

Private Sub FormLogin_Closed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
If CondiciónDeCierre Then
Me.DialogResult = DialogResult.OK
Else
Me.DialogResult = DialogResult.Cancel
End If
End Sub
End Class


Esta sería otras forma de hacerlo. Si defines tu propio método Main, podrás
controlar que formularios se cargan, e incluso decidir que no exista uno
principal (el que cierra la aplicación):

En la clase del Form de inicio:

Public Shared Sub Main()
dim f as new FormLogin()
f.ShowDialog()
Application.Run(new FormPrincipal())
End Sub

O para que no haya formulario principal:

Public Shared Sub Main()
dim f as new ElFormQueQuieras
f.Show()
Application.Run()
End Sub

En este caso, debes hacer Application.Exit para terminar tu aplicación. La
aplicación no se cerrará cuando cierres el primer Form.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#2 V
07/08/2004 - 20:10 | Informe spam
Me imagine que ya se habia planteado aqui, pero desde el momento que yo
descargue los mensajes no habia ninguna y por eso me anime a preguntar...
Muchisimas gracias Tristan por contestar, probare con esto ...
Saludos
V

"Tristan" escribió en el mensaje
news:
Bueno, no es que sea muy obvia, pero si es que es una pregunta repetida


por
aquí, si. :-)

Hay muchas maneras de resolverlo. La mejor creo, es plantear las cosas al
revés, establecer como principal el segundo formulario. En el Load del
principal, es decir mientras todavía no es visible, cargas el primero.

Pero se explica mucho mejor con código:

class FormPrincipal
inherits System.Windows.Forms.Form
...
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dim f As New FormLogin
If f.ShowDialog() <> DialogResult.OK Then
Me.Close()
End If
End Sub
end class

Public Class FormLogin
Inherits System.Windows.Forms.Form
...

Private Sub FormLogin_Closed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
If CondiciónDeCierre Then
Me.DialogResult = DialogResult.OK
Else
Me.DialogResult = DialogResult.Cancel
End If
End Sub
End Class


Esta sería otras forma de hacerlo. Si defines tu propio método Main,


podrás
controlar que formularios se cargan, e incluso decidir que no exista uno
principal (el que cierra la aplicación):

En la clase del Form de inicio:

Public Shared Sub Main()
dim f as new FormLogin()
f.ShowDialog()
Application.Run(new FormPrincipal())
End Sub

O para que no haya formulario principal:

Public Shared Sub Main()
dim f as new ElFormQueQuieras
f.Show()
Application.Run()
End Sub

En este caso, debes hacer Application.Exit para terminar tu aplicación. La
aplicación no se cerrará cuando cierres el primer Form.

Juan Carlos Badiola
MVP - C#


Respuesta Responder a este mensaje
#3 V
09/08/2004 - 04:11 | Informe spam
Esto que me pasaste Tristan lo probe pero no funciona
intente buscarle con eso que me diste y otra vuelta de rosca a ver si sale y
lo que hice fue lo siguiente, no se si esta bien pero funciono

en el boton "pulsar" del form1 le puse el siguiente codigo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

Me.Hide()

Dim f As Form2

f = New Form2()

f.Show()

End Sub

y en el boton "cerrar" del form2 le puse el siguiente codigo:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

End

End Sub


y asi cuando pulso el boton "pulsar" del primer formulario, desaparece el
mismo y luego carga el form2 donde lo cierro al presionar el boton "cerrar"
no se si es asi, o hay una manera mas elegante... esto me funciono a mi...
quizas le pueda servir a alguien mas

"V" escribió en el mensaje
news:
Me imagine que ya se habia planteado aqui, pero desde el momento que yo
descargue los mensajes no habia ninguna y por eso me anime a preguntar...
Muchisimas gracias Tristan por contestar, probare con esto ...
Saludos
V

"Tristan" escribió en el mensaje
news:
> Bueno, no es que sea muy obvia, pero si es que es una pregunta repetida
por
> aquí, si. :-)
>
> Hay muchas maneras de resolverlo. La mejor creo, es plantear las cosas


al
> revés, establecer como principal el segundo formulario. En el Load del
> principal, es decir mientras todavía no es visible, cargas el primero.
>
> Pero se explica mucho mejor con código:
>
> class FormPrincipal
> inherits System.Windows.Forms.Form
> ...
> Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
> MyBase.Load
> Dim f As New FormLogin
> If f.ShowDialog() <> DialogResult.OK Then
> Me.Close()
> End If
> End Sub
> end class
>
> Public Class FormLogin
> Inherits System.Windows.Forms.Form
> ...
>
> Private Sub FormLogin_Closed(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles MyBase.Closed
> If CondiciónDeCierre Then
> Me.DialogResult = DialogResult.OK
> Else
> Me.DialogResult = DialogResult.Cancel
> End If
> End Sub
> End Class
>
>
> Esta sería otras forma de hacerlo. Si defines tu propio método Main,
podrás
> controlar que formularios se cargan, e incluso decidir que no exista uno
> principal (el que cierra la aplicación):
>
> En la clase del Form de inicio:
>
> Public Shared Sub Main()
> dim f as new FormLogin()
> f.ShowDialog()
> Application.Run(new FormPrincipal())
> End Sub
>
> O para que no haya formulario principal:
>
> Public Shared Sub Main()
> dim f as new ElFormQueQuieras
> f.Show()
> Application.Run()
> End Sub
>
> En este caso, debes hacer Application.Exit para terminar tu aplicación.


La
> aplicación no se cerrará cuando cierres el primer Form.
>
> Juan Carlos Badiola
> MVP - C#
>
>


Respuesta Responder a este mensaje
#4 Tristan
09/08/2004 - 08:34 | Informe spam
Bueno, te puedo asegurar que lo que te he pasado funciona. No se que habrás
hecho.

De todas formas, de lo que te he pasado, ¿que no TE funciona?. ¿La primera
sokución?. ¿La segunda?. ¿La tercera?

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#5 V
09/08/2004 - 20:49 | Informe spam
Hola Tristan, mira no me funciono a mi, lo mas probable es que yo quizas no
haya hecho algo bien, ponele la firma, pero bueno las que no me funcionaron
fueron la primera y la segunda solucion...
Sinceramente no me adapto todavia al entorno net, y tengo cosas del visual
basic 6 y por ahi me frusto un poco cuando no me salen las cosas y bueno.
Por ejemplo me paso con el tema de hacer los clasicos menues desplegables, y
me volvi loca para la codificacion, es mas por ahora estoy viendo en probar
que cierre la ventana, pero como estoy leyendo el libro quiero ir de a poco,
porque son muchas cosas nuevas para mi...
No me quiero imaginar cuando tenga que entrar en el tema de las bases de
datos, porque quiero practicar con un sistema que vendria muy bien en mi
oficina, pero con estos cambios primero tengo que ponerme en claro todavia.

Que conste que no quiero herir a nadie, cuando pongo que no funciona, lo mas
probable es que yo no haga bien las cosas
Saludos
V

"Tristan" escribió en el mensaje
news:
Bueno, te puedo asegurar que lo que te he pasado funciona. No se que


habrás
hecho.

De todas formas, de lo que te he pasado, ¿que no TE funciona?. ¿La primera
sokución?. ¿La segunda?. ¿La tercera?

Juan Carlos Badiola
MVP - C#


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida