Foros del Web » Programación para mayores de 30 ;) » .NET »

Boton Winforms

Estas en el tema de Boton Winforms en el foro de .NET en Foros del Web. Saludos Señores, ya como dijo el pollo vamos al grano. Tego un Windows Form en Visual Basic.Net y necesito solo tener habilitados los botones de ...
  #1 (permalink)  
Antiguo 21/06/2005, 23:56
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 11 meses
Puntos: 0
Boton Winforms

Saludos Señores, ya como dijo el pollo vamos al grano.

Tego un Windows Form en Visual Basic.Net y necesito solo tener habilitados los botones de maximizar y minizar y deseo que no aparezca el boton de cerrar el formulario o sea la "X", eso seria de antemano muchas gracias.


Saludos.
  #2 (permalink)  
Antiguo 22/06/2005, 09:13
 
Fecha de Ingreso: junio-2002
Mensajes: 212
Antigüedad: 21 años, 10 meses
Puntos: 0
Este codigo no te lo desaparece pero te lo deshabilita:

En Form Declarations:
Private Const MF_BYPOSITION As Integer = &H400
Private Const MF_REMOVE As Integer = &H1000
Private Const MF_DISABLED As Integer = &H2

'Variable para saber si ya está desactivado el botón X
Private pulsado As Boolean = True

'Importación de procedimientos externos almacenados
'en la librería de Windows USER32.DLL

'Obtener el menú de sistema
Private Declare Function GetSystemMenu Lib "User32" _
(ByVal hWnd As Integer, _
ByVal bRevert As Boolean) As IntPtr

'Obtener el número de elementos del menú de sistema
Private Declare Function GetMenuItemCount Lib "User32" _
(ByVal hMenu As Integer) As IntPtr

'Quitar elementos del menú de sistema
Private Declare Function RemoveMenu Lib "User32" _
(ByVal hMenu As Integer, _
ByVal nPosition As Integer, _
ByVal wFlags As Long) As IntPtr

'Redibujar la barra de título de la ventana
Private Declare Function DrawMenuBar Lib "User32" _
(ByVal hWnd As Integer) As IntPtr


Private Sub DisableCloseButton(ByVal hWnd As IntPtr)
Try 'captura de excepciones

Dim menuItemCount As IntPtr
Dim hMenu As IntPtr
'Obtener el manejador del menú de sistema del formulario
hMenu = GetSystemMenu(hWnd.ToInt32(), False)
'Obtener la cuenta de los ítems del menú de sistema.
'Es el menú que aparece al pulsar sobre el icono a la izquierda
'de la Barra de título de la ventana, consta de los ítems: Restaurar, Mover,
'Tamaño,Minimizar, Maximizar, Separador, Cerrar.
menuItemCount = GetMenuItemCount(hMenu.ToInt32())
'Quitar el ítem Close (Cerrar), que es el último de ese menú
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 1, MF_DISABLED Or MF_BYPOSITION)
'Quitar el ítem Separador, el penúltimo de ese menú, entre Maximizar y Cerrar
RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 2, MF_DISABLED Or MF_BYPOSITION)
'Redibujar la barra de menú
DrawMenuBar(hWnd.ToInt32())

'mostrar un mensaje con la excepción producida
Catch pollo As Exception
MessageBox.Show("Se ha producido la excepción: " + vbCrLf + pollo.Message, _
"Error del programa", MessageBoxButtons.OK)
End Try
End Sub

----------------------------------------------------------------------
Para llamarlo:

DisableCloseButton(Me.Handle)

Abrazo
__________________
Simuladores y Examenes Cisco, Herramientas de Red Online - Tecnologia y Redes
  #3 (permalink)  
Antiguo 22/06/2005, 22:13
 
Fecha de Ingreso: junio-2005
Mensajes: 9
Antigüedad: 18 años, 11 meses
Puntos: 0
Por lo que e leido (si es q lo e entendido, por supuesto), parece que es mas facil, cancelar el cierre del formulario mediante una variable booleana, en vez de des-habilitar el el boton de cierre del form o sea la "X",pregunta por esta variable y si es la correcta lo cierra d lo contario cancela el cierre del form.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:25.