También me di cuenta de eso, puse una imagen de fondo al panel también jajaj, ya decía yo porque no habrás echo eso antes. Sin embargo lo del color cuando se cierra y que se quede abierto al abrir otro eso si me sorprendió, muy buen video.
Excelente aporte estimado RJ Code Advance, muy educativo e instructivo. Me sirvió muho por actualmente estoy trabajando en una Base de Datos con gestión de SQL Server para una apliación de Control de Almacen, y me ha suministrado varias ideas para hacer los formularios destacados. Estaré pendiente para nuevos aportes,...SALUDOS DESDE VENEZUELA
Hola Sigues con los videos. QUE BIEN. LO ESPERABA. FELIZ DE VER SU TRABAJO. Una Observación es que el formulario principal al estar Maximizado no debe poder Moverse ni tampoco modificar su tamaño. Saludos
como estas RJ gracias por responder . en concreto lo que quiero es que cuando de clic en el botón 1 se cierren el 2 y el 3 y si doy clic en el 2 se cierre el 1 y el 3 y a si sucesivamente para que cuando cargue nuevamente cada formulario se actualicen automáticamente los registros que e enviado al otro formulario sin tener que agregar un botón actualizar gracias de antemano .. espero sigas creando mas vídeos tutoriales eres lo máximo graciassssssssssss........
entiendo, te refieres a abrir un solo formulario como se hizo en otro video. bueno debes recorrer todos los formularios abiertos y cerrarlos antes de abrir el siguente. Copia este método e invoca desde el boton o el metodo de abrir form en el panel. Private Sub Cerrarforms() My.Application.OpenForms.Cast(Of Form)() _ .Except({Me}) _ .ToList() _ .ForEach(Sub(form) form.Close()) End Sub
Buen dia amigo, esta genial tu codigo, ya compre le version completa, pero tenga una duda que me pasa al poner 2 veces un control de formularios para poder poner un formulario dentro de otro formulario y a su vez otro formulario dentro del mismo, al pasar valores que varian, no se actualizan en el formulario hijo, me refiero Fomulario padre > formulario hijo > formulario nieto la variable esta en el formulario hijo, pero al pasarlo al formulario nieto, no cambio siempre se queda en le primero que se configuro y le he intentado de muchas maneras y no sale, te agradeceria mucho si me podrias apoyar en esto
que tal amigo espero sigas enseñándonos mucho mas tu vídeo me salvo la vida es excelente ya lo reilase y me funciona genial pero tengo una consulta .. como puedo CERRAR los formularios 1,2,y 3 con un botón desde el FormPrincipal
Hola, Excelentes tus diseños y tutoriales, ahora una consulta respecto del resize, yo abajo agregué otro panel...que contiene la hora...y otras cosas, como hago para aplicar el resize del form teniendo ese panel abajo?? porque aplique tu codigo y no funciona...claro porque esta el otro panel abajo....
Esta en camara rápida o que clase de maquina tienes para que abra visual en segundos por que visual estudio demora como miércoles en abrir y cargar un proyecto 🤔🤔
jaja bueno , para abrir demora unos 3 a 4 segundos, para cargar un proyecto de 8 a 15 s, depende del tamaño. En los vídeos si aumento la velocidad un 25 %. para que no se aburra :D La version 2017 si demora en abrir, bueno en mi caso
Muy buenos tutoriales acerca de la intefaz, me gustan mucho, oye una duda, hay alguna manera de los formularios hagan lo que hacen los otros programas, por ejemplo, si arrastras el formulario hacia la derecha, que este se ponga del tamaño de media pantalla?? No se si se entiende
Hola Mario, si claro te entiendo, y la verdad que lo intente de todas maneras, sin llegar a una solución, encontré una pero tiene un defecto desagradable en el diseño. Si encuentro alguna solución, subiré un video. Solo faltaría ese efecto.
Excelente bro... y ya que compartes tus conocimientos con nosotros tengo una consulta espero no sea abusar de tu generosidad. Estoy haciendo un proyecto usando como base esta interfaz pero en los formularios quiero hacer que ingresar datos en textbox's al presionar tecla intro cambie el foco al siguiente, estoy usando en el evento keypress: If Asc(e.KeyChar) = 13 Then siguientetextbox.Focus() End If Si ejecuto el formulario principal al abrir el form secundario no funciona. Pero si ejecuto directamente el form secundario(como formulario de inicio) si funciona bien el salto de foco. Agradezco tu ayuda..
Hola Lenin, extraño que no funcione, prueba con el evento keydown Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown If e.KeyCode.Equals(Keys.Enter) Then TextBox2.Focus() End Sub Lo probé y funciona sin problemas Saludos
Hola como estas, la verdad que este tutorial fue de muchisima ayuda y de gran calidad te felicito. Necesito una pequeña ayuda ya que no le puedo encontrar la vuelta y el tema de las instancias. Como hago para ajustar el tamaño de un datagridview desde el formulario principal probe instanciando el formulario hijo y ajustando el width pero no hace nada. Alguna sugerencia? Muchisimas gracias.
hola, ¿ajustar el tamaño del datagridview desde el form principal mediante un botón? es decir manualmente? o te refieres a ajustar el tamaño automáticamente al tamaño del panel. Podrías argumentar un poco mas?
@@RJCodeAdvance si manualmente, cuando interactuo con el menu vertical cuando se desplaza mostrando los nombres el datagrid se desplaza a la derecha y se va de pantalla, por eso cuando ocurre eso quiero achicarlo / agrandarlo de acuerdo a la situación. Solo necesito el codigo para achicarlo no se como istanciar el datagridview. Muchas gracias de antemano.
Gracias por responder @@RJCodeAdvance . Al hacer click en un boton que esta en el formulario padre ajuste el ancho del datagridview que esta en el formulario hijo
Podrias simplemente ajustar la propiedad anchor del datagridview, activar botton, top, rigth y left, de esa manera se acoplará al tamaño del form hijo, el form hijo ya se ajusta automaticamente al tamaño del panel, no habra problemas
Sos un capo!!! El estilo que le mandas a los programas es de muy profesional. Tengo una consulta, cada vez que cierro un form y quiero abrir otro( a travez del boton cerrar), no me abren mas ls demas formularios. Que estara faltando? estoy programando cn vb.net. Gracias y saludos!!!
Hola Leonardo, muchas gracias, respecto a tu consulta, no sé si quieres abrir un form al cerrar un form dentro del panel o fuera, pero en ambos casos debes hacer en el evento formclosed, minuto 23:25 , ahí envías el form al metodo de abrir formulario en el panel que quieres abrir , o si quieres abrir fuera del panel, crea otro método formclosed e instancia al form que quieres abrir, muestralo y traelo al frente. show() brinttofront()
muy buen video, muchas gracias por sus aportes, gracias a ellos he estado rediseñando una interfaz , pero he tenido problemas al pasar variables del formulario principal hacia otros utilizando AbrirFormulario(); he probado todas la formas posibles que conozco pero no he podido, algo de lo que he usado es como esto public FrmInicio(int IdMatrizLab, int IdUsuario) { InitializeComponent(); this.IdUsuario = IdUsuario; this.IdMatrizLab = IdMatrizLab; } int IdMatrizLab; int IdUsuario; otra cosa que he utilizado en el formulario Menuprincipal private CADUsuario UsuarioLogueado; public CADUsuario usuarioLogueado { get { return UsuarioLogueado; } set { UsuarioLogueado = value; } } CADUsuario es una clase de la capa de acceso a datos. luego en en formulario de inicio trate de recoger la variable pero no funciono private void VerificaPermisos() { FrmMenuPrincipal miForm = new FrmMenuPrincipal();
CADRolesUsuario miUsuarioRol = CADRolesUsuario.RolesXUsuario(miForm.usuarioLogueado.ID_USUARIO); if (miUsuarioRol == null) { DialogResult rta = MessageBox.Show("Rol de Usuario NO existe", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (CADPermisoRol.PuedeVer(miUsuarioRol.ID_ROL, "FrmClientes")) { btnClientes.Enabled = true; } else { btnClientes.Enabled = false; } } también probé creando variables publicas en el formulario principal y luego trate de recogerlas llamando el formulario principal pero no funciona porque la variable esta nula cuando se trata de recoger , tambien probe colocando un textbox habilitando modifier en publico en el formulario principal y trato de recoger la variable pero el text esta vacio cuando lo hago.
hola, haber si entendí, estas intentando pasar el usuario logueado que esta ya en alguna variable del formulario principal hacia otros forms. bueno podrías cambiar el método AbrirFormulario, que este reciba 2 parametros, pero este te va pedir siempre 2 parámetros para todos los forms que habrás, eso no tendría estética. Te recomiendo crear especialmente una clase estática para guardar los datos del usuario logueado en la capa presentacion, y asi todos los form tendrán acceso a esa clase , o mejor aun si tienes una capa entidades, puedes crearla ahi, no necesitas pasar desde el form principal.
Buenas tardes RJ Code Advance, te hago una consulta..se puede poner transparente el formulario de atrás de uno llamado con showdialog? .. ósea si el formulario padre se puede poner un poco más transparente cuando esta abierto el formulario hijo con showdialog ¿como se puede hacer? Lo quiero hacer para que no se interpongan los colores de uno con el otro. Saludos y Gracias
Hola Tomas, Bueno es algo simple, solo aplica la propiedad opacity. Ejemplo C# desde el boton que llamas un formulario this.Opacity = 0.6D; //Esto hará que el form tenga una transpariecia de 60% Form2 frm = new Form2(); frm.ShowDialog(); this.Opacity = 1D;//Esto hará que el form vuelva a la normalidad al cerrar el form2
hola Carlos, tienes toda la razón, olvido esos pequeños detalles, Pero en si, el formulario si se puede mover, y al mover debe de restaurar al tamaño normal (como el comportamiento de las ventanas de windows)Entonces faltaría agregar una condición en el método de arrastrar al formulario, donde compruebe si el formulario esta maximizado restaure el tamaño. Gracias por la observación, lo tomaré muy en cuenta :) Saludos
Saludos RJ Code Advance, quisiera consultarte de como cerrar todos los formularios abiertos con un solo botón, que muestre el formulario principal, y me encantaría un vídeo donde hicieses un menú deslizable vertical, muchas gracias por tus videos :)
Hola Erick, ok tratare de subir un tutorial de hacer un menú desplegable, respecto a tu otra pregunta, puedes cerrar todos los formularios exepto el formulario principal con este codigo: My.Application.OpenForms.Cast(Of Form)() _ .Except({Me}) _ .ToList() _ .ForEach(Sub(form) form.Close()) Saludos
hola una pregunta en el form de lista de productos los botones nuevo, editar, y eliminar mantiene la proporcionalidad con el form se mantiene como puedo hacer eso en mi proyecto
Hola amigo, como podría hacer lo mismo pero sin perder la funcionalidad del FORM es decir que se acople a la ventana completa algo así como hiciste en C# donde borraste la linea superior que aparecía sin perder funcionalidades pero en .NET ya e intentado de todo pero no se borra la linea quizá estoy haciendo algo mal. Espero puedas hacer un video de eso. gracias de antemano
Una duda. Sobre la barra mover en el evento mouse move. veo que importas dll y demás.. pero en qué se diferencia esto de crear variables globales o hasta propiedades, de la sgt manera: Private Property Pox As Integer Private Property Poy As Integer If Not e.Button = MouseButtons.Left Then Pox = e.X Poy = e.Y Else Left = Left + (e.X - Pox) Top = Top + (e.Y - Poy) End If
Solamente que al importar User32.dll, usamos directamente las funciones del sistema operativo, las ventanas de windows usan No puedo opinar en cuanto al tiempo de respuesta, ya que no he usado lo que comentas, pero pondré a prueba. Saludos
buenas master quisiera una aclaratoria desde el submenu quiero agregar un boton para exportar todo a excel pero lo quiero hacer mediante checkbox y no lo puedo activar desde el panel de submenu para me active el check en el form2
tengo un problema :( es la segunda ves que hago los mismo pasos de tu vídeo porque me gusto mucho y la primera ves que hice salio muy bien ahora estoy haciendo otra ves con un proyecto que estado realizando pero al momento de llamar al formulario, los controles se ponen tranparentes, tanto que ves el fondo de mi pantalla, pasa con las imagenes, los texbox, y el dataGRID :( que puedo hacer para solucionarlo ? :(
Hola Hilton, Parece que modificaste la propiedad Opacity del formulario, Asegúrate que la propiedad Opacity del formulario este en 100% o hasta un mínimo de 85%(Poca transparencia )
Hola exelentes videos! una consualta todo me sale super bien solo que tengo formularios un poco grades los traté de hacer un poco mas pqueños pero me salen como en la parte superior izquierda como lo puedo lograr centrado ?
Hola, revisa la propiedad anchor de tus controles puede ser que esten en top y right, a veces por eso se mueven cuando el form es mas grande o mas pequeño, también te recomendaría, crear el formulario con el mismo tamaño del panel.
Excelente video me ayudó mucho, pero como colocó solo un botón de cerrar formulario en un tan control y que el tan control se muestre en todo el formulario
Hola, supongo que te refieres a TabControl, Bueno en la propiedad de Dock, colocas fill , con eso va rellenar todo el panel, y para cerrarlo agregas un boton, y en el evento del boton quitas la pestaña del tab con la posición o nombre algo asi tabControl1.TabPages.Remove("nombre");
Saludos, excelente trabajo. Estoy teniendo un problema en la declaración de: formulario = PanelFormularios.Controls.OfType(Of MiForm as {Form, New}() el VS2015 me dice que OfType no es un miembro de Controls.ControlCollection. Alguna sugerencia?
¡Qué vergüenza! Lo tengo resuelto, dejo la solución por si le sirve a alguien más. Estaba apuntando a .NET Framework < 3.5 (el método es parte de la clase enumerable); hecho el cambio en las propiedades, se debe importar System.Linq y el error desaparece. Saludos desde Honduras,
hola Marco, seria mejor usar un objeto(una Clase, ejem ClaseDatos), cargas los atributos desde el boton que llamas el form2, y desde el form2 recuperas los datos que tiene el objeto(ClaseDatos)
@@RJCodeAdvance Gracias, ya entendí, pero no me actualiza el formato abierto, tengo que cerrarlo, de la forma anterior con remove at, hay alguna forma de evitar que se saturen las instancias?
@@alfredomay3622 Hola, lo hice de dos formas, una usando variables globales, y otra con una clase como dice RJ Code Advance , aunque me ubiera gustado algo más directo
Entonces pueden usar interfaces para enviar datos, de esa manera no requiere instancias.Se puede hacer de manera directa, pero se tendría que modificar todos los costructores de los form añadiendo parametros, y enviar dichos parámetros desde el método y enviar valores metodoAbrirForm() where MiForm : Form, new( string var, int var)
Gracias men. eres un crack..! CONSULTA: he renombrado las columnas de datagriedview(desde sql), elementos de combobox, y cuando aplico un filtro mediante un TextChanged se restablecen los antiguos nombres, esta en n capas
tienes que ronombrar en ambas, tanto para mostrar los datos y hacer el filtro, ejemplo: Mostrar datos Select column1 as nombre, column2 as apellido from tabla Filtrar: Select column1 as nombre, column2 as apellido from tabla where column1= 'campobuscado'
Buenas tardes. Me puedes apoyar con un problema al maximizar el form principal una vez que abro un form hijo? El form se desproporciona de la parte inferior
Buen día! Siempre sigo tus videos! Diseñé´un programa con la función para abrir los formularios dentro del panel y ahora me vi en un inconveniente que no sé resolver. Empleo interfaces para pasar datos del formulario hijo al padre, cosa que me funciona bien salvo lógicamente con los formularios "padres" que son abiertos con esta función en el contenedor, interpreto que he de cambiar algo en la interface pero no sé qué. En resumen. Dentro del contenedor tengo un form que vamos a llamar padre y éste abre otro del cual he de enviar unos datos a este "padre". ¿Cómo puedo hacer una interface que no me genere error? El error que me genera es que no puede convertir la interface en el formulario de inicio, como si tomara como padre al de inicio digamos (o sea el dueño del panel contenedor). Espero entiendas mi pequeño embrollo! Muchas gracias!
Hola María, entiendo a lo que te refieres, mmmm supongo que tienes tu interface definida Public Interface MyInterface Sub MyData(name As String, lastname As String, tel As String) End Interface Entonces desde Form1(form padre abierto en el panel) implementas la interface mas el método Public Class Form1 Implements MyInterface Public Sub MyData(name As String, lastname As String, tel As String) Implements MyInterface.MyData TextBox1.Text = name TextBox2.Text = lastname TextBox3.Text = tel End Sub //Evento botón donde abres el form 2 (form hijo) Dim frm As New Form2() AddOwnedForm(frm) ...//este metodo es muy importante, define que form1(padre) es propietario de form2(hijo) de no hacer esto, los datos no pasará frm.Show() Finalmente en Form2, supongamos que pasas los datos mediante un botón, Dim MyInterfaz As MyInterface = TryCast(Me.Owner, MyInterface) MyInterfaz.MyData(TextBox1.Text, TextBox2.Text, TextBox3.Text)
@@RJCodeAdvance Disculpa la demora en responder, como no soy programadora quería buscar un ratito para probarlo antes de agradecerte. Millón de gracias, siempre tan atento y efectivo. Me funcionó perfectamente (creo que la macana me la había mandado en algún "AddOwnedForm"). Estoy aprendiendo montón con tus videos! Gracias por ser tan generoso!
Amigo lo podemos hacer este proyecto para hacer una base de datos de registro de personas, donde se pueda hacer una busqueda, hacer un reporte personalizado ...... saludos!!!
Hola, revisa los códigos, no ocurre ese problema. Si te refieres a que el formulario y los controles sea responsive , tienes que configurar la propiedad anchor de los controles
puedes hacer un proyecto con efecto slider a la derecha o izquierda que dure 1 segundo con efecto fade que se desvanezca y muestre otra form o un panel, esto dando clic en un boton? al estilo de kaspersky total security 2019 Gracias!✔✔✔
Hola, diego, acabo de revisarlas y si funcionan, revisa este video: pasos para descargar/saltar publicidad drive.google.com/open?id=15-Zd0w6kK_0VKqV_IFgYzUKyGDZbUEhr
Hola una pregunta master, ¿Cómo puedo hacer que el formulario se cierre en vez de que se pase hacia atrás? , como en el método anterior, es que necesito abrir algunos formularios de esta forma, y otros de la anterior.
Hola Marco, puede usar el método de la versión anterior. ua-cam.com/video/K400igJshJA/v-deo.html Si deseas hacerlo en este version del video, tienes que agregar un nuevo método. Ejemplo CerrarFormAnterior() En el metodo creas un ciclo para recorrer todos los formularios y cerrarlos, excepto el form principal. el método lo invocas antes de llamar el metodo abrirformEnpanel() Aqui el código método en C#, puede traducirlo a VB. con un traductor online. private void CerrarFormAnterior() { List LFA = new List(); LFA.Clear(); foreach (Form FRM in Application.OpenForms) { if ((FRM.Name != "FormPrincipal")) { LFA.Add(FRM); } } int X; for (X = 0; (X
@@RJCodeAdvance buenas noches amigo no hay alguna forma sin el tab control solo quiero que el form uno que seria ventas pueda hacer tres o cuatro facturas al mismo tiempo los demás formularios se abrirían una vez
Hola brother tengo un problema! Esta excelente por empezar, pero tengo un datagridview que carga una base de datos sqlite , si abro el formulario como si fuera externo al formulario padre se cargan en el datagrid los datos de mi base de datos, en cambio usando tu forma de abrir formulario sobre otro, no se ve nada de info! pero se cargan los procedimientos, y el form secundario esta como publico al igual que los componentes.. no se que puede ser! me ayudas?
amigo tengo el codigo asi, intente poner en ambas oartes del if "formulairio.focus" pero no logro hacer que cuando paso de un form a otro, el foco me quede en el formulario que tenga al frente te agradeceria mucho la auyda Private Sub AbrirFormularios(Of Miform As {Form, New})() Dim formulario As Form formulario = PanelContenedor.Controls.OfType(Of Miform)().FirstOrDefault 'busca el formulario If formulario Is Nothing Then formulario = New Miform() formulario.TopLevel = False formulario.FormBorderStyle = FormBorderStyle.None formulario.Dock = DockStyle.Fill PanelContenedor.Controls.Add(formulario) PanelContenedor.Tag = formulario AddHandler formulario.FormClosed, AddressOf Me.cerrarFormulario formulario.BringToFront() formulario.Show() Else formulario.BringToFront() End If End Sub
@@RJCodeAdvance el proyecto corre excelente pero, pues los accesos a funciones con teclas se cruzan entre formularios, porque el foco no queda en el firmulario que se trae al frente luego de que ya esta abierto
PROFE UNA CONSULTA: porque cuando le doi iniciar al proyecto que dejaste me salen estos errores? No se puede procesar el archivo Form1.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos. y asi para todos los forms del proyecto... osea asi: 1>------ Operación Compilar iniciada: proyecto: ModernGUI_V3_VisualBasic, configuración: Debug Any CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form1.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form2.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form3.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo FormPrincipal.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos. ========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Hola, Ese problema puede pasar por lo siguiente, - estas intentando abrir el proyecto desde una pc en red - visual estudio detecto el archivo como no confiable y lo tiene bloqueado (eso pasa en la ultima versión de vs 2017) Puedes usar uno de estos métodos:(Están en ingles -puedes traducir la pag completa a español ) stackoverflow.com/questions/51348919/couldnt-process-file-resx-due-to-its-being-in-the-internet-or-restricted-zone-o superuser.com/questions/44503/how-do-i-tell-windows-7-to-trust-a-particular-network-location www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/ O intenta esto HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ SDK]"AllowProcessOfUntrustedResourceFiles" = "true" deshabilita característica de seguridad de .NET Framework.
Chevere ya se arreglo con uno de los enlaces.... era mas simple de lo que se pensaba .. solo es dar click derecho al zip descargado luego en propiedades y click al boton desbloquear, aplicar aceptar.
Hola, puedes usar una clase, con atributos estáticos, a estos atributos asignas valor que quieres, y desde el form hijo lo recuperaras. O mejor puedes usar interfaces
Estaria bueno ahora que enseñes como hacer para llamar otros form des de botones que estan en los form del menu.... Y que estos queden en el panel "contenedor"....
@@RJCodeAdvance Aver si me explico mejor ahora, lo que quiero saber es si se puede hacer esto.... En el "proyecto" hay 3 botones en el menu de la izquierda, y el boton 1 llama al formulario 1(aqui esta la pregunta en si) si el formulario 1 contiene un boton que llama a otro form este puede estar acoplado en el panel contenedor osea que tome em lugar del formulario 1.... Espero haberme explicado mejor Gracias
Yo estoy con la misma duda que @Josue Paiva. Es decir, si abrí un formulario en el panel contenedor, y dentro de ese formulario tengo un botón y en ese boton quiero abrir un formulario en el panel contenedor, no es posible.
Hi, what you can do is, go through all the open forms and close them before opening the next one. Copy this method and invoke from the method of opening form in the panel. Private Sub closeForm() My.Application.OpenForms.Cast(Of Form)() _ .Except({Me}) _ .ToList() _ .ForEach(Sub(form) form.Close()) End Sub -- from the method, open form in the panel Private Sub OpenFormPanel(Of Miform As {Form, New})() closeForm() Dim Formulario As Form Formulario = PanelFormularios.Controls.OfType(Of Miform)().FirstOrDefault() If Formulario Is Nothing Then Formulario = New Miform() Formulario.TopLevel = False 'Formulario.FormBorderStyle = FormBorderStyle.None 'Formulario.Dock = DockStyle.Fill PanelFormularios.Controls.Add(Formulario) PanelFormularios.Tag = Formulario 'AddHandler Formulario.FormClosed, AddressOf Me.CerrarFormulario Formulario.BringToFront() Formulario.Show() Else Formulario.BringToFront() End If End Sub
que tal amigos alguien sabe como cerrar los formularios hijos con su respectivo Botón colocado en el formulario Principal no se si me hago entender..perdón pero yo soy nuevo en la programación y nunca habita comentado un vídeo en mi vida.. gracias de antemano
Hola Lucas, tienes que guardar todos los formularios y cerrarlos todos, aqui dejo el codigo. en este ejemplo cierro todos los forms, excepto el form principal y login. Private Sub Cerrarforms() Dim OpenForms As Form() = Application.OpenForms.Cast(Of Form)().ToArray() For Each thisForm As Form In OpenForms If thisForm.Name "FormMainMenu" AndAlso thisForm.Name "FormLogin" Then thisForm.Close() Next End Sub ///Saludos
Contigo e aprendido más que 2 años que tengo en cursos y viendo otros tutoriales.
Gracias Manuel, Saludos
Totalmente de acuerdo contigo!
has probado usar un masked text box? quizá sea lo que preguntas, te permite poner el "formato" del texto que ha de ingresar el usuario
De nada Cristian! Creo que es lo que buscas, allí puedes personalizar tu máscara de entrada acorde a lo que necesites :) éxitos!
@@RJCodeAdvance cuando subiras mas videos, eres un crack
También me di cuenta de eso, puse una imagen de fondo al panel también jajaj, ya decía yo porque no habrás echo eso antes. Sin embargo lo del color cuando se cierra y que se quede abierto al abrir otro eso si me sorprendió, muy buen video.
Gracias Kevin, Saludos
Excelente aporte estimado RJ Code Advance, muy educativo e instructivo. Me sirvió muho por actualmente estoy trabajando en una Base de Datos con gestión de SQL Server para una apliación de Control de Almacen, y me ha suministrado varias ideas para hacer los formularios destacados. Estaré pendiente para nuevos aportes,...SALUDOS DESDE VENEZUELA
Hola Sigues con los videos. QUE BIEN. LO ESPERABA. FELIZ DE VER SU TRABAJO. Una Observación es que el formulario principal al estar Maximizado no debe poder Moverse ni tampoco modificar su tamaño. Saludos
Gracias por responder a las consultas.
Cuando Alguien Sabe lo que Hace Se nota Mil Gracia Amigo Dio lo bendiga.
como estas RJ gracias por responder . en concreto lo que quiero es que cuando de clic en el botón 1 se cierren el 2 y el 3 y si doy clic en el 2 se cierre el 1 y el 3 y a si sucesivamente para que cuando cargue nuevamente cada formulario se actualicen automáticamente los registros que e enviado al otro formulario sin tener que agregar un botón actualizar gracias de antemano .. espero sigas creando mas vídeos tutoriales eres lo máximo graciassssssssssss........
entiendo, te refieres a abrir un solo formulario como se hizo en otro video.
bueno debes recorrer todos los formularios abiertos y cerrarlos antes de abrir el siguente.
Copia este método e invoca desde el boton o el metodo de abrir form en el panel.
Private Sub Cerrarforms()
My.Application.OpenForms.Cast(Of Form)() _
.Except({Me}) _
.ToList() _
.ForEach(Sub(form) form.Close())
End Sub
Buen dia amigo, esta genial tu codigo, ya compre le version completa, pero tenga una duda que me pasa al poner 2 veces un control de formularios para poder poner un formulario dentro de otro formulario y a su vez otro formulario dentro del mismo, al pasar valores que varian, no se actualizan en el formulario hijo, me refiero
Fomulario padre > formulario hijo > formulario nieto
la variable esta en el formulario hijo, pero al pasarlo al formulario nieto, no cambio siempre se queda en le primero que se configuro y le he intentado de muchas maneras y no sale, te agradeceria mucho si me podrias apoyar en esto
que tal amigo espero sigas enseñándonos mucho mas tu vídeo me salvo la vida es excelente ya lo reilase y me funciona genial pero tengo una consulta .. como puedo CERRAR los formularios 1,2,y 3 con un botón desde el FormPrincipal
Hola Eddys, cerrar todos los formularios a la vez? o una por una desde el boton correpondiente?
Hola, Excelentes tus diseños y tutoriales, ahora una consulta respecto del resize, yo abajo agregué otro panel...que contiene la hora...y otras cosas, como hago para aplicar el resize del form teniendo ese panel abajo?? porque aplique tu codigo y no funciona...claro porque esta el otro panel abajo....
Excelente video e información, he reinventado mis diseños gracias a ti, tu concepto es completamente perfecto. Saludos.
Muy bien video y para hacer hacer que el formulario hijo tenga mas hijos? y se pase la informacion de uno al otro?
Excelente tutorial, solo una pregunta es posible centrar dentro del panel los formularios ejecutados en él? gracias de antemano
Esta en camara rápida o que clase de maquina tienes para que abra visual en segundos por que visual estudio demora como miércoles en abrir y cargar un proyecto 🤔🤔
jaja bueno , para abrir demora unos 3 a 4 segundos, para cargar un proyecto de 8 a 15 s, depende del tamaño.
En los vídeos si aumento la velocidad un 25 %. para que no se aburra :D
La version 2017 si demora en abrir, bueno en mi caso
Muy buenos tutoriales acerca de la intefaz, me gustan mucho, oye una duda, hay alguna manera de los formularios hagan lo que hacen los otros programas, por ejemplo, si arrastras el formulario hacia la derecha, que este se ponga del tamaño de media pantalla??
No se si se entiende
Hola Mario, si claro te entiendo, y la verdad que lo intente de todas maneras, sin llegar a una solución, encontré una pero tiene un defecto desagradable en el diseño.
Si encuentro alguna solución, subiré un video. Solo faltaría ese efecto.
Muchas gracias por el tutorial, simple, claro brillante. Ya estoy tratando de implementarlo... .
Eres el mejor youtuber de tutoriales sige adelante amigo
Muy buen tutorial pero me surge una pregunta, Como se puede adaptar el formulario cuando se cierre el Panel Lateral(Menu)??
Excelente bro... y ya que compartes tus conocimientos con nosotros tengo una consulta espero no sea abusar de tu generosidad. Estoy haciendo un proyecto usando como base esta interfaz pero en los formularios quiero hacer que ingresar datos en textbox's al presionar tecla intro cambie el foco al siguiente, estoy usando en el evento keypress:
If Asc(e.KeyChar) = 13 Then
siguientetextbox.Focus()
End If
Si ejecuto el formulario principal al abrir el form secundario no funciona. Pero si ejecuto directamente el form secundario(como formulario de inicio) si funciona bien el salto de foco.
Agradezco tu ayuda..
Hola Lenin, extraño que no funcione, prueba con el evento keydown
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode.Equals(Keys.Enter) Then TextBox2.Focus()
End Sub
Lo probé y funciona sin problemas
Saludos
Ufff exelente video, hize un modificación con la primera versión y los nuevos método y que... 👌🏻👌🏻👌🏻 muchas gracias por los Tutoriales.
Hola como estas, la verdad que este tutorial fue de muchisima ayuda y de gran calidad te felicito. Necesito una pequeña ayuda ya que no le puedo encontrar la vuelta y el tema de las instancias. Como hago para ajustar el tamaño de un datagridview desde el formulario principal probe instanciando el formulario hijo y ajustando el width pero no hace nada. Alguna sugerencia? Muchisimas gracias.
hola, ¿ajustar el tamaño del datagridview desde el form principal mediante un botón? es decir manualmente? o te refieres a ajustar el tamaño automáticamente al tamaño del panel.
Podrías argumentar un poco mas?
@@RJCodeAdvance si manualmente, cuando interactuo con el menu vertical cuando se desplaza mostrando los nombres el datagrid se desplaza a la derecha y se va de pantalla, por eso cuando ocurre eso quiero achicarlo / agrandarlo de acuerdo a la situación. Solo necesito el codigo para achicarlo no se como istanciar el datagridview. Muchas gracias de antemano.
Gracias por responder @@RJCodeAdvance . Al hacer click en un boton que esta en el formulario padre ajuste el ancho del datagridview que esta en el formulario hijo
Podrias simplemente ajustar la propiedad anchor del datagridview, activar botton, top, rigth y left, de esa manera se acoplará al tamaño del form hijo, el form hijo ya se ajusta automaticamente al tamaño del panel, no habra problemas
@@RJCodeAdvance sabes que? ERES UN GENIO, ya llevas ayudandome un monton en mi proyecto. Que Dios te bendiga grandemente amigo,
Amigo muito obrigado por esse exemplo de menu, era tudo que eu estava procurando, Deus lheabençoe com muita paz e saúde. Fica com Deus
Sos un capo!!! El estilo que le mandas a los programas es de muy profesional. Tengo una consulta, cada vez que cierro un form y quiero abrir otro( a travez del boton cerrar), no me abren mas ls demas formularios. Que estara faltando? estoy programando cn vb.net. Gracias y saludos!!!
Hola Leonardo, muchas gracias, respecto a tu consulta, no sé si quieres abrir un form al cerrar un form dentro del panel o fuera, pero en ambos casos debes hacer en el evento formclosed, minuto 23:25 , ahí envías el form al metodo de abrir formulario en el panel que quieres abrir , o si quieres abrir fuera del panel, crea otro método formclosed e instancia al form que quieres abrir, muestralo y traelo al frente.
show()
brinttofront()
RJ Code Advance Muchas Gracias, funciono!!! Sos un groso!!!
muy buen video, muchas gracias por sus aportes, gracias a ellos he estado rediseñando una interfaz , pero he tenido problemas al pasar variables del formulario principal hacia otros utilizando AbrirFormulario(); he probado todas la formas posibles que conozco pero no he podido, algo de lo que he usado es como esto
public FrmInicio(int IdMatrizLab, int IdUsuario)
{
InitializeComponent();
this.IdUsuario = IdUsuario;
this.IdMatrizLab = IdMatrizLab;
}
int IdMatrizLab;
int IdUsuario;
otra cosa que he utilizado en el formulario Menuprincipal
private CADUsuario UsuarioLogueado;
public CADUsuario usuarioLogueado
{
get { return UsuarioLogueado; }
set { UsuarioLogueado = value; }
}
CADUsuario es una clase de la capa de acceso a datos.
luego en en formulario de inicio trate de recoger la variable pero no funciono
private void VerificaPermisos()
{
FrmMenuPrincipal miForm = new FrmMenuPrincipal();
CADRolesUsuario miUsuarioRol = CADRolesUsuario.RolesXUsuario(miForm.usuarioLogueado.ID_USUARIO);
if (miUsuarioRol == null)
{
DialogResult rta = MessageBox.Show("Rol de Usuario NO existe", "Confirmación", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (CADPermisoRol.PuedeVer(miUsuarioRol.ID_ROL, "FrmClientes"))
{
btnClientes.Enabled = true;
}
else
{
btnClientes.Enabled = false;
}
}
también probé creando variables publicas en el formulario principal y luego trate de recogerlas llamando el formulario principal
pero no funciona porque la variable esta nula cuando se trata de recoger ,
tambien probe colocando un textbox habilitando modifier en publico en el formulario principal y trato de recoger la variable pero el text esta vacio cuando lo hago.
hola, haber si entendí, estas intentando pasar el usuario logueado que esta ya en alguna variable del formulario principal hacia otros forms. bueno podrías cambiar el método AbrirFormulario, que este reciba 2 parametros, pero este te va pedir siempre 2 parámetros para todos los forms que habrás, eso no tendría estética.
Te recomiendo crear especialmente una clase estática para guardar los datos del usuario logueado en la capa presentacion, y asi todos los form tendrán acceso a esa clase , o mejor aun si tienes una capa entidades, puedes crearla ahi, no necesitas pasar desde el form principal.
Buenas tardes RJ Code Advance, te hago una consulta..se puede poner transparente el formulario de atrás de uno llamado con showdialog? .. ósea si el formulario padre se puede poner un poco más transparente cuando esta abierto el formulario hijo con showdialog ¿como se puede hacer? Lo quiero hacer para que no se interpongan los colores de uno con el otro.
Saludos y Gracias
Hola Tomas, Bueno es algo simple, solo aplica la propiedad opacity.
Ejemplo C#
desde el boton que llamas un formulario
this.Opacity = 0.6D; //Esto hará que el form tenga una transpariecia de 60%
Form2 frm = new Form2();
frm.ShowDialog();
this.Opacity = 1D;//Esto hará que el form vuelva a la normalidad al cerrar el form2
Por fin valió la espera , llego el máster en C#
Excelente, una Observación, el formulario al estar Maximizado, No debería permitir ser movido y el cambio de su tamaño por el rectángulo inferior.
hola Carlos, tienes toda la razón, olvido esos pequeños detalles, Pero en si, el formulario si se puede mover, y al mover debe de restaurar al tamaño normal (como el comportamiento de las ventanas de windows)Entonces faltaría agregar una condición en el método de arrastrar al formulario, donde compruebe si el formulario esta maximizado restaure el tamaño. Gracias por la observación, lo tomaré muy en cuenta :) Saludos
felicitaciones para este men, tu muy bien podrías realizar un vídeo en donde puedes otorgar permisos a un inicio de sesión
ok (Próximamente ), Saludos
Saludos RJ Code Advance, quisiera consultarte de como cerrar todos los formularios abiertos con un solo botón, que muestre el formulario principal, y me encantaría un vídeo donde hicieses un menú deslizable vertical, muchas gracias por tus videos :)
Hola Erick, ok tratare de subir un tutorial de hacer un menú desplegable, respecto a tu otra pregunta, puedes cerrar todos los formularios exepto el formulario principal con este codigo:
My.Application.OpenForms.Cast(Of Form)() _
.Except({Me}) _
.ToList() _
.ForEach(Sub(form) form.Close())
Saludos
Hola RJ, una pregunta, como se llama esa lupa que utilizas para los colores?. Saludos Desde Panamá.
Hola Darre, se llama just Color Picker
@@RJCodeAdvance Ok Gracias RJ. Saludos.
Hola buenas tardes, como puedo acceder al formulario child desde el formulario principal?
Quiero acceder a una función que está en Form1
Buen video muchas gracias, ahora solo faltaría lo de pasar los datos en forms.
Lograste resolverlo? Podrías compartirlo?
hola una pregunta en el form de lista de productos los botones nuevo, editar, y eliminar mantiene la proporcionalidad con el form se mantiene como puedo hacer eso en mi proyecto
Muchas gracias por compartir estimado...
Hola amigo, como podría hacer lo mismo pero sin perder la funcionalidad del FORM es decir que se acople a la ventana completa algo así como hiciste en C# donde borraste la linea superior que aparecía sin perder funcionalidades pero en .NET ya e intentado de todo pero no se borra la linea quizá estoy haciendo algo mal. Espero puedas hacer un video de eso. gracias de antemano
Una duda. Sobre la barra mover en el evento mouse move.
veo que importas dll y demás..
pero en qué se diferencia esto de crear variables globales o hasta propiedades, de la sgt manera:
Private Property Pox As Integer
Private Property Poy As Integer
If Not e.Button = MouseButtons.Left Then
Pox = e.X
Poy = e.Y
Else
Left = Left + (e.X - Pox)
Top = Top + (e.Y - Poy)
End If
Solamente que al importar User32.dll, usamos directamente las funciones del sistema operativo, las ventanas de windows usan
No puedo opinar en cuanto al tiempo de respuesta, ya que no he usado lo que comentas, pero pondré a prueba.
Saludos
buenas master quisiera una aclaratoria desde el submenu quiero agregar un boton para exportar todo a excel pero lo quiero hacer mediante checkbox y no lo puedo activar desde el panel de submenu para me active el check en el form2
tengo un problema :( es la segunda ves que hago los mismo pasos de tu vídeo porque me gusto mucho y la primera ves que hice salio muy bien ahora estoy haciendo otra ves con un proyecto que estado realizando pero al momento de llamar al formulario, los controles se ponen tranparentes, tanto que ves el fondo de mi pantalla, pasa con las imagenes, los texbox, y el dataGRID :( que puedo hacer para solucionarlo ? :(
Hola Hilton, Parece que modificaste la propiedad Opacity del formulario, Asegúrate que la propiedad Opacity del formulario este en 100% o hasta un mínimo de 85%(Poca transparencia )
Hola exelentes videos! una consualta todo me sale super bien solo que tengo formularios un poco grades los traté de hacer un poco mas pqueños pero me salen como en la parte superior izquierda como lo puedo lograr centrado ?
Hola, revisa la propiedad anchor de tus controles puede ser que esten en top y right, a veces por eso se mueven cuando el form es mas grande o mas pequeño, también te recomendaría, crear el formulario con el mismo tamaño del panel.
RJ Code Advance gracias
Muchas gracias! Eres el mejor!
Excelente Tutorial!!, cuando puedas y si es que sabes algo de XAMARIN seria bueno... Gracias...
excelente papo...gracias por el tuto
Excelente video me ayudó mucho, pero como colocó solo un botón de cerrar formulario en un tan control y que el tan control se muestre en todo el formulario
Hola, supongo que te refieres a TabControl, Bueno en la propiedad de Dock, colocas fill , con eso va rellenar todo el panel, y para cerrarlo agregas un boton, y en el evento del boton quitas la pestaña del tab con la posición o nombre
algo asi
tabControl1.TabPages.Remove("nombre");
gRACIAS. Excelente aporte
Saludos, excelente trabajo. Estoy teniendo un problema en la declaración de: formulario = PanelFormularios.Controls.OfType(Of MiForm as {Form, New}() el VS2015 me dice que OfType no es un miembro de Controls.ControlCollection. Alguna sugerencia?
¡Qué vergüenza! Lo tengo resuelto, dejo la solución por si le sirve a alguien más. Estaba apuntando a .NET Framework < 3.5 (el método es parte de la clase enumerable); hecho el cambio en las propiedades, se debe importar System.Linq y el error desaparece. Saludos desde Honduras,
Excelente video esta genial el diseño... muchas gracias!!
nuevo sub! empeze a programar hace pocos dias . aprovechar la cuarentena para diseñar el soft de mi pyme veremos que tal
Gran tutorial, una pregunta,¿ como puedo pasar parámetros o datos entre formularios llamados asi (Of miFormulario As {Form, New})? no he podido
hola Marco, seria mejor usar un objeto(una Clase, ejem ClaseDatos), cargas los atributos desde el boton que llamas el form2, y desde el form2 recuperas los datos que tiene el objeto(ClaseDatos)
Exactamente ese mismo problema tengo. Lo lograste resolver. Podrías compartir como lo hiciste?
@@RJCodeAdvance Gracias, ya entendí, pero no me actualiza el formato abierto, tengo que cerrarlo, de la forma anterior con remove at, hay alguna forma de evitar que se saturen las instancias?
@@alfredomay3622 Hola, lo hice de dos formas, una usando variables globales, y otra con una clase como dice RJ Code Advance , aunque me ubiera gustado algo más directo
Entonces pueden usar interfaces para enviar datos, de esa manera no requiere instancias.Se puede hacer de manera directa, pero se tendría que modificar todos los costructores de los form añadiendo parametros, y enviar dichos parámetros desde el método y enviar valores
metodoAbrirForm() where MiForm : Form, new( string var, int var)
Muy buenos, me gusta mucho, gracias por el tutorial.
Muy buenos vídeos amigo, pero me preguntaba si podrías, hacer uno de editar/eliminar/agregar datos , pero con conexión Mysql
Gracias men. eres un crack..! CONSULTA: he renombrado las columnas de datagriedview(desde sql), elementos de combobox, y cuando aplico un filtro mediante un TextChanged se restablecen los antiguos nombres, esta en n capas
tienes que ronombrar en ambas, tanto para mostrar los datos y hacer el filtro,
ejemplo:
Mostrar datos
Select column1 as nombre, column2 as apellido from tabla
Filtrar:
Select column1 as nombre, column2 as apellido from tabla where column1= 'campobuscado'
RJ Code Advance k da jaja no crei que fuera tan simple, gracias de nuevo amigo
Buenas tardes. Me puedes apoyar con un problema al maximizar el form principal una vez que abro un form hijo? El form se desproporciona de la parte inferior
se puede hacer con visual studio code
Fantástico
perfecto, muchas gracias por el aporte
Gracias. qué máquina eres
Otro excelente tutorial Gracias ...
Excelente video....
Me da un colapso al abrir los forms. Porque?
¿con que aplicacion reconoces los ddcodigos rgb de los colores?
Just Color Picker, Saludos
voce tem cursos em video aulas criando um sistema completo (automação comercial)
Me sirvió, pero cuando abro mis formularios dentro del panel no me reconoce la conexión mysql que tienen 😭😭😭😭😭
Exelente amigo, lo hice y funcione perfecto, me gustaria tener la foto de fondo de escritorio el de la moto, me lo podrias pasar? habrazo amigo
Una pregunta, si quiero hacer un boton llamado "Volver a Inicio" que muestre el panel con el logo como seria el codigo?
Buen día! Siempre sigo tus videos! Diseñé´un programa con la función para abrir los formularios dentro del panel y ahora me vi en un inconveniente que no sé resolver. Empleo interfaces para pasar datos del formulario hijo al padre, cosa que me funciona bien salvo lógicamente con los formularios "padres" que son abiertos con esta función en el contenedor, interpreto que he de cambiar algo en la interface pero no sé qué.
En resumen. Dentro del contenedor tengo un form que vamos a llamar padre y éste abre otro del cual he de enviar unos datos a este "padre". ¿Cómo puedo hacer una interface que no me genere error? El error que me genera es que no puede convertir la interface en el formulario de inicio, como si tomara como padre al de inicio digamos (o sea el dueño del panel contenedor). Espero entiendas mi pequeño embrollo! Muchas gracias!
Hola María, entiendo a lo que te refieres, mmmm supongo que tienes tu interface definida
Public Interface MyInterface
Sub MyData(name As String, lastname As String, tel As String)
End Interface
Entonces desde Form1(form padre abierto en el panel) implementas la interface mas el método
Public Class Form1
Implements MyInterface
Public Sub MyData(name As String, lastname As String, tel As String) Implements MyInterface.MyData
TextBox1.Text = name
TextBox2.Text = lastname
TextBox3.Text = tel
End Sub
//Evento botón donde abres el form 2 (form hijo)
Dim frm As New Form2()
AddOwnedForm(frm) ...//este metodo es muy importante, define que form1(padre) es propietario de form2(hijo) de no hacer esto, los datos no pasará
frm.Show()
Finalmente en Form2, supongamos que pasas los datos mediante un botón,
Dim MyInterfaz As MyInterface = TryCast(Me.Owner, MyInterface)
MyInterfaz.MyData(TextBox1.Text, TextBox2.Text, TextBox3.Text)
@@RJCodeAdvance Disculpa la demora en responder, como no soy programadora quería buscar un ratito para probarlo antes de agradecerte. Millón de gracias, siempre tan atento y efectivo. Me funcionó perfectamente (creo que la macana me la había mandado en algún "AddOwnedForm"). Estoy aprendiendo montón con tus videos! Gracias por ser tan generoso!
Amigo lo podemos hacer este proyecto para hacer una base de datos de registro de personas, donde se pueda hacer una busqueda, hacer un reporte personalizado ...... saludos!!!
Hola Henry, si claro, no hay problema
Bonita la interfaz pero realmente no se maximiza la pantalla, si no que se pone al tamaño de la ventana, podrias dar otra opcion para este problema?
Hola, revisa los códigos, no ocurre ese problema. Si te refieres a que el formulario y los controles sea responsive , tienes que configurar la propiedad anchor de los controles
puedes hacer un proyecto con efecto slider a la derecha o izquierda que dure 1 segundo con efecto fade que se desvanezca y muestre otra form o un panel, esto dando clic en un boton? al estilo de kaspersky total security 2019 Gracias!✔✔✔
Gracias, muy buen video. Una pequeña observación, los links para descargar el proyecto no me funcionan.
Hola, diego, acabo de revisarlas y si funcionan, revisa este video: pasos para descargar/saltar publicidad
drive.google.com/open?id=15-Zd0w6kK_0VKqV_IFgYzUKyGDZbUEhr
Hola una pregunta master, ¿Cómo puedo hacer que el formulario se cierre en vez de que se pase hacia atrás? , como en el método anterior, es que necesito abrir algunos formularios de esta forma, y otros de la anterior.
Hola Marco, puede usar el método de la versión anterior.
ua-cam.com/video/K400igJshJA/v-deo.html
Si deseas hacerlo en este version del video, tienes que agregar un nuevo método.
Ejemplo
CerrarFormAnterior()
En el metodo creas un ciclo para recorrer todos los formularios y cerrarlos, excepto el form principal.
el método lo invocas antes de llamar el metodo abrirformEnpanel()
Aqui el código método en C#, puede traducirlo a VB. con un traductor online.
private void CerrarFormAnterior()
{
List LFA = new List();
LFA.Clear();
foreach (Form FRM in Application.OpenForms)
{
if ((FRM.Name != "FormPrincipal"))
{
LFA.Add(FRM);
}
}
int X;
for (X = 0; (X
Gracias, lo intentare
¿Es posible proporcionar el sitio donde se pueden encontrar los iconos?
Buenas noches hay alguna forma para abrir el formulario 1 tres veces y que aparezcan pestañas para ver cada formulario
Tendrias que crear 3 instancias, y para mostralos los 3 en pestañas, usarias el tab control
@@RJCodeAdvance buenas noches amigo no hay alguna forma sin el tab control solo quiero que el form uno que seria ventas pueda hacer tres o cuatro facturas al mismo tiempo los demás formularios se abrirían una vez
RJ Can you please make a tutorial to make similar interface but using WPF ?
Excelente. asi de simple
Hola brother tengo un problema! Esta excelente por empezar, pero tengo un datagridview que carga una base de datos sqlite , si abro el formulario como si fuera externo al formulario padre se cargan en el datagrid los datos de mi base de datos, en cambio usando tu forma de abrir formulario sobre otro, no se ve nada de info! pero se cargan los procedimientos, y el form secundario esta como publico al igual que los componentes.. no se que puede ser! me ayudas?
Podrías enviar capturas de pantalla a rjcodes.net@gmail.com, así poder ver y poder ayudarte.
@@RJCodeAdvance Gracias por tu tiempo! Te estoy mandando
muchas gracias :)
amigo y si quiero cerrar todas los forms al mismo tiempo con un boton y asi regresar a la pantalla inicial, me podrías dar una idea?
Hola, podrias crear una lista de todos los form abiertos y cerrarlos con ciclo, excepto el actual (form principal)
cuando intento llenar un DataGridView no lo realiza y no se como solucionarlo
Lo mismo estoy buscando
Intento insertar a datagridview que está en form1 desde el form2 no pasan los datos, por favor
Muy interesante pero lamentablemente los archivo desde Google Drive ¡no los he podido descargar!
Buen video sige adelante amigo!!
Buen video
amigo tengo el codigo asi, intente poner en ambas oartes del if "formulairio.focus" pero no logro hacer que cuando paso de un form a otro, el foco me quede en el formulario que tenga al frente te agradeceria mucho la auyda
Private Sub AbrirFormularios(Of Miform As {Form, New})()
Dim formulario As Form
formulario = PanelContenedor.Controls.OfType(Of Miform)().FirstOrDefault 'busca el formulario
If formulario Is Nothing Then
formulario = New Miform()
formulario.TopLevel = False
formulario.FormBorderStyle = FormBorderStyle.None
formulario.Dock = DockStyle.Fill
PanelContenedor.Controls.Add(formulario)
PanelContenedor.Tag = formulario
AddHandler formulario.FormClosed, AddressOf Me.cerrarFormulario
formulario.BringToFront()
formulario.Show()
Else
formulario.BringToFront()
End If
End Sub
Hola Mauricio, el código esta bien, no tiene errores, al parecer tu proyecto esta trabada, no guarda cambios. Limpia el proyecto y recompila.
@@RJCodeAdvance el proyecto corre excelente pero, pues los accesos a funciones con teclas se cruzan entre formularios, porque el foco no queda en el firmulario que se trae al frente luego de que ya esta abierto
Muito bom 👏👏👏
Amigo donde puedo descargar ese codigo?
PROFE UNA CONSULTA:
porque cuando le doi iniciar al proyecto que dejaste me salen estos errores?
No se puede procesar el archivo Form1.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos.
y asi para todos los forms del proyecto... osea asi:
1>------ Operación Compilar iniciada: proyecto: ModernGUI_V3_VisualBasic, configuración: Debug Any CPU ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form1.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form2.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo Form3.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3049,5): error MSB3821: No se puede procesar el archivo FormPrincipal.resx porque está en Internet o en una zona restringida, o bien tiene la marca de la Web. Quite esta marca si desea procesar los archivos.
========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Hola, Ese problema puede pasar por lo siguiente,
- estas intentando abrir el proyecto desde una pc en red
- visual estudio detecto el archivo como no confiable y lo tiene bloqueado
(eso pasa en la ultima versión de vs 2017)
Puedes usar uno de estos métodos:(Están en ingles -puedes traducir la pag completa a español )
stackoverflow.com/questions/51348919/couldnt-process-file-resx-due-to-its-being-in-the-internet-or-restricted-zone-o
superuser.com/questions/44503/how-do-i-tell-windows-7-to-trust-a-particular-network-location
www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
O intenta esto
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ SDK]"AllowProcessOfUntrustedResourceFiles" = "true"
deshabilita característica de seguridad de .NET Framework.
@@RJCodeAdvance si tienes razón mi pc esta en red y tengo el VS 2017 ..
listo lo pruebo y comento
Chevere ya se arreglo con uno de los enlaces.... era mas simple de lo que se pensaba .. solo es dar click derecho al zip descargado luego en propiedades y click al boton desbloquear, aplicar aceptar.
Estimado... como puedo pasar un "texto" desde el menú principal a un textbox de un formulario hijo ??? dese ya muchas gracias
Hola, puedes usar una clase, con atributos estáticos, a estos atributos asignas valor que quieres, y desde el form hijo lo recuperaras. O mejor puedes usar interfaces
@@RJCodeAdvance muchas gracias por tu respuesta.. aplicare lo indicado !!!
more VB tutorial please. thanks
Estaria bueno ahora que enseñes como hacer para llamar otros form des de botones que estan en los form del menu....
Y que estos queden en el panel "contenedor"....
Hola Josue, no entendí bien, pero eso ya se realiza en el video, abrir varios form en el panel contenedor.
@@RJCodeAdvance Aver si me explico mejor ahora, lo que quiero saber es si se puede hacer esto....
En el "proyecto" hay 3 botones en el menu de la izquierda, y el boton 1 llama al formulario 1(aqui esta la pregunta en si) si el formulario 1 contiene un boton que llama a otro form este puede estar acoplado en el panel contenedor osea que tome em lugar del formulario 1.... Espero haberme explicado mejor Gracias
Yo estoy con la misma duda que @Josue Paiva.
Es decir, si abrí un formulario en el panel contenedor, y dentro de ese formulario tengo un botón y en ese boton quiero abrir un formulario en el panel contenedor, no es posible.
Ya lo explico en un vídeo anterior
ua-cam.com/video/vQrADCBPoGk/v-deo.html
@@SegundoRobledo Gracias no lo habia visto
how i can automatic close one formulario when open another formulario?
Hi, what you can do is, go through all the open forms and close them before opening the next one.
Copy this method and invoke from the method of opening form in the panel.
Private Sub closeForm()
My.Application.OpenForms.Cast(Of Form)() _
.Except({Me}) _
.ToList() _
.ForEach(Sub(form) form.Close())
End Sub
-- from the method, open form in the panel
Private Sub OpenFormPanel(Of Miform As {Form, New})()
closeForm()
Dim Formulario As Form
Formulario = PanelFormularios.Controls.OfType(Of Miform)().FirstOrDefault()
If Formulario Is Nothing Then
Formulario = New Miform()
Formulario.TopLevel = False
'Formulario.FormBorderStyle = FormBorderStyle.None
'Formulario.Dock = DockStyle.Fill
PanelFormularios.Controls.Add(Formulario)
PanelFormularios.Tag = Formulario
'AddHandler Formulario.FormClosed, AddressOf Me.CerrarFormulario
Formulario.BringToFront()
Formulario.Show()
Else
Formulario.BringToFront()
End If
End Sub
que tal amigos alguien sabe como cerrar los formularios hijos con su respectivo Botón colocado en el formulario Principal no se si me hago entender..perdón pero yo soy nuevo en la programación y nunca habita comentado un vídeo en mi vida.. gracias de antemano
Como puedo cerrar el formulario al abrir otro
}
Hola Lucas, tienes que guardar todos los formularios y cerrarlos todos, aqui dejo el codigo.
en este ejemplo cierro todos los forms, excepto el form principal y login.
Private Sub Cerrarforms()
Dim OpenForms As Form() = Application.OpenForms.Cast(Of Form)().ToArray()
For Each thisForm As Form In OpenForms
If thisForm.Name "FormMainMenu" AndAlso thisForm.Name "FormLogin" Then thisForm.Close()
Next
End Sub
///Saludos
Primero ;)
amigo boeno gostaria de receber uma formação profissional no c#
Hooola amigo saludos desde Ecuador disculpa que sea tan molestoso pero sera posible si nos ayudas con un CRUD N capas en visual .NET
Hola Dennis, si subiré un vídeo sobre CRUD Full POO - NCapas ->VB, pero no sera muy pronto, tengo pensado subir algunos antes de ello
vb.net (Average TimeSpan )
a sample
Dim Sum As TimeSpan
Sum = TimeSpan.Parse(T1) *10 /100 (Error) ask for help
18:44
mucho codigo para que solo le cambies dos parametros en el panel hijo y le pongas dock = fill cuando llames al hijo
Link to the same version you have just color picker
it is version 4.6, the download is no longer available.
annystudio.com/software/colorpicker/
@@RJCodeAdvance Possible, please allow me to raise the same version is present to explain
1:44
entonces yo vi el primer tutorial del formulario azul y gris quiere decir que se me jodera el programa es mi proyecto:v