Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SγиtαxEяяoя en 30 Mayo 2013, 19:01 pm



Título: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 30 Mayo 2013, 19:01 pm
Hola. me pregunto si hay algun codigo que otorgue la funcion que al pasar el mouse cambie la imagen de un picturebox y que al quitar el mouse vuelva a la imagen anterior

(http://i.imm.io/17H0o.png)


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 30 Mayo 2013, 19:17 pm
Usa el evento "MouseEnter" y "MouseLeave", es así de fácil.

Saludos!


Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 30 Mayo 2013, 19:48 pm
Yo tengo un code:

Código
  1.    Private Sub picMini_MouseEnter(sender As Object, e As EventArgs) Handles picMini.MouseEnter
  2.        sender.Image = Mini_Off
  3.    End Sub
  4.  
  5.    Private Sub picMini_MouseLeave(sender As Object, e As EventArgs) Handles picMini.MouseLeave
  6.        sender.Image = Mini_On
  7.    End Sub

Recuerda poner en el Form load alguna imagen.

Código
  1.    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2.        picMini.Image = Mini_On 'Aqui se carga la que se va a mostrar por defecto
  3.        picMini.BackColor = Color.Transparent 'Por si tiene transparencias la imagen

Y como supondrás el Mini_Off es un Dim...

Código
  1.    Dim Mini_Off As Image = Image.FromFile(".\Art\Buttons\Mini_Off.png")
  2.    Dim Mini_On As Image = Image.FromFile(".\Art\Buttons\Mini_On.png")

Un saludo.


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 30 Mayo 2013, 21:50 pm
Aprovecho de una ves... y como hago para no mover el form.. es decir bloquearlo

que cuando se abra no se pueda mover (http://jquery-ui.googlecode.com/svn/tags/1.5rc1/tests/cursors/mac/move.png)


Título: Re: Mostrar/Ocultar
Publicado por: XresH en 31 Mayo 2013, 00:57 am
La propiedad FormBorderStyle en valor 0 quita el contorno del Formulario, por lo que no se puede mover, es una alternativa rápida, no se si querés algo mas elaborado y mantener los bordes y botones, habría que trabajar sobre algunos eventos cuando detecte movimiento, creo que es Form_Move no me acuerdo bien.


Saludos.


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 09:24 am
Aprovecho de una ves... y como hago para no mover el form.. es decir bloquearlo

que cuando se abra no se pueda mover (http://jquery-ui.googlecode.com/svn/tags/1.5rc1/tests/cursors/mac/move.png)

La manera sencilla:

Código
  1.    Dim Fixed_Location As Point ' = New Point(X, Y) ' Seteamos el valor por defecto.
  2.  
  3.    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  4.        ' ...O seteamos el valor por defecto cuando la ventana se haya creado.
  5.        Fixed_Location = New Point(Me.Location.X, Me.Location.Y)
  6.    End Sub
  7.  
  8.    Private Sub Form1_Move(sender As Object, e As EventArgs) Handles MyBase.Move
  9.        If Me.Visible Then Me.Location = Fixed_Location
  10.    End Sub

Después de hacerlo me he encontrado con el problema de que el layer de la ventana se sigue dibujando por la pantalla si se mantiene el botón del mouse para intentar arrastrarlo, es una cosa sin importancia, pero como me gusta la eficacia, al final he buscado la manera de hacerlo usando los mensajes de Windows:

(Este código no es mío)
Código
  1. #Region " Cancel Move Form "
  2.  
  3.    ' Examples:
  4.    ' Me.Moveable = False
  5.    ' Me.Moveable = True
  6.  
  7.    Private Declare Function EnableMenuItem Lib "user32.dll" Alias "EnableMenuItem" (ByVal hMenu As IntPtr, ByVal uIDEnableItem As Int32, ByVal uEnable As Int32) As Int32
  8.  
  9.    Private bMoveable As Boolean = True
  10.  
  11.    Public Overridable Property Moveable() As Boolean
  12.        Get
  13.            Return bMoveable
  14.        End Get
  15.        Set(ByVal Value As Boolean)
  16.            If bMoveable <> Value Then
  17.                bMoveable = Value
  18.            End If
  19.        End Set
  20.    End Property
  21.  
  22.    Protected Overrides Sub WndProc(ByRef m As Message)
  23.  
  24.        If m.Msg = &H117& Then
  25.            'Handles popup of system menu.
  26.            If m.LParam.ToInt32 \ 65536 <> 0 Then 'divide by 65536 to get hiword.
  27.                Dim AbleFlags As Int32 = &H0&
  28.                If Not Moveable Then AbleFlags = &H2& Or &H1&
  29.                EnableMenuItem(m.WParam, &HF010&, &H0& Or AbleFlags)
  30.            End If
  31.        End If
  32.  
  33.        If Not Moveable Then
  34.            'Cancels any attempt to drag the window by it's caption.
  35.            If m.Msg = &HA1 Then If m.WParam.ToInt32 = &H2 Then Return
  36.            'Redundant but cancels any clicks on the Move system menu item.
  37.            If m.Msg = &H112 Then If (m.WParam.ToInt32 And &HFFF0) = &HF010& Then Return
  38.        End If
  39.  
  40.        'Return control to base message handler.
  41.        MyBase.WndProc(m)
  42.  
  43.    End Sub
  44.  
  45. #End Region

Saludos...


Título: Re: Mostrar/Ocultar
Publicado por: XresH en 31 Mayo 2013, 09:39 am
La manera sencilla:

Código
  1.    Dim Fixed_Location As Point ' = New Point(X, Y) ' Seteamos el valor por defecto.
  2.  
  3.    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  4.        ' ...O seteamos el valor por defecto cuando la ventana se haya creado.
  5.        Fixed_Location = New Point(Me.Location.X, Me.Location.Y)
  6.    End Sub
  7.  
  8.    Private Sub Form1_Move(sender As Object, e As EventArgs) Handles MyBase.Move
  9.        If Me.Visible Then Me.Location = Fixed_Location
  10.    End Sub

Después de hacerlo me he encontrado con el problema de que el layer de la ventana se sigue dibujando por la pantalla si se mantiene el botón del mouse para intentar arrastrarlo, es una cosa sin importancia, pero como me gusta la eficacia, al final he buscado la manera de hacerlo usando los mensajes de Windows:

(Este código no es mío)
Código
  1. #Region " Cancel Move Form "
  2.  
  3.    ' Examples:
  4.    ' Me.Moveable = False
  5.    ' Me.Moveable = True
  6.  
  7.    Private Declare Function EnableMenuItem Lib "user32.dll" Alias "EnableMenuItem" (ByVal hMenu As IntPtr, ByVal uIDEnableItem As Int32, ByVal uEnable As Int32) As Int32
  8.  
  9.    Private bMoveable As Boolean = True
  10.  
  11.    Public Overridable Property Moveable() As Boolean
  12.        Get
  13.            Return bMoveable
  14.        End Get
  15.        Set(ByVal Value As Boolean)
  16.            If bMoveable <> Value Then
  17.                bMoveable = Value
  18.            End If
  19.        End Set
  20.    End Property
  21.  
  22.    Protected Overrides Sub WndProc(ByRef m As Message)
  23.  
  24.        If m.Msg = &H117& Then
  25.            'Handles popup of system menu.
  26.            If m.LParam.ToInt32 \ 65536 <> 0 Then 'divide by 65536 to get hiword.
  27.                Dim AbleFlags As Int32 = &H0&
  28.                If Not Moveable Then AbleFlags = &H2& Or &H1&
  29.                EnableMenuItem(m.WParam, &HF010&, &H0& Or AbleFlags)
  30.            End If
  31.        End If
  32.  
  33.        If Not Moveable Then
  34.            'Cancels any attempt to drag the window by it's caption.
  35.            If m.Msg = &HA1 Then If m.WParam.ToInt32 = &H2 Then Return
  36.            'Redundant but cancels any clicks on the Move system menu item.
  37.            If m.Msg = &H112 Then If (m.WParam.ToInt32 And &HFFF0) = &HF010& Then Return
  38.        End If
  39.  
  40.        'Return control to base message handler.
  41.        MyBase.WndProc(m)
  42.  
  43.    End Sub
  44.  
  45. #End Region

Saludos...

Lo probe y funciona de 10, gracias por el aporte Electro!

Saludos!


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 20:38 pm
Tengo otra duda, al seleccionar un Form automaticamente se muestra la barra de tareas :(

como puedo solucionar este problema ??'


Edito:


a lo que me refiero es que estoy en un juego "FullScreen" y al form le di la propiedad de "TopMost" pero al seleccionar algo del form se muestra la barra de tareas.. no se si me explico bien


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 20:50 pm
Tengo otra duda, al seleccionar un Form automaticamente se muestra la barra de tareas :(

como puedo solucionar este problema ??'

¿Que automáticamente se muestra la barra de taréas, o que automáticamente se muestra el Item de la aplicación en la barra de tareas?

Si es lo segundo entonces una manera de solucionarlo es leyendo el nombre y la descripción de las Propiedades de un Fom... hazlo y pronto sabrás porque te lo dije  :P

Un saludo.


Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 20:53 pm
Elektro tienes razón el es peor que yo  :o :o


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 20:58 pm
Elektro tienes razón el es peor que yo  :o :o

"Peor" en que sentido..
en que tenga una duda pida que me la aclaren o que no nací con todos los conocimientos

 me siento una molestia por preguntar  :¬¬ :¬¬ :¬¬



Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 21:03 pm
A ver xD No debería a ver comentado nada porque te vas a echar encima mía...

Estuve hablando con Elektro y bueno me dijo que progresé en lo que es darme cuenta de las cosas...

Tu eres peor en ese sentido xD
No más...  ;) ;)


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 21:07 pm
A ver xD No debería a ver comentado nada porque te vas a echar encima mía...

Estuve hablando con Elektro y bueno me dijo que progresé en lo que es darme cuenta de las cosas...

Tu eres peor en ese sentido xD
No más...  ;) ;)

Y eso te afecta en algo???
Oye si no vas a decir nada productivo no entres en mis temas y punto :) asi no tenemos malos entendidos...

y como ya dije.. no naci sabiendo las cosas.. y me importa un carajo si tu progresas o no  :¬¬ :¬¬ :¬¬


Perdón... Ya se que eres principiante... No debía a ver dicho nada...  :laugh:

Sorry... xD
PD: Un poco troll a veces si que soy...  :P

Que bueno que lo sepas, por lo menos no soy arrogante y engreído por saber algo...
Y tu crees que ami me importa si eres o no un pu** "Troll" ???

PD: No le veo ni un pu** chiste "Troll" a lo que acabas de decir... decir una estupidez te hace ser troll


Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 21:13 pm
Perdón... Ya se que eres principiante... No debía a ver dicho nada...  :laugh:

Sorry... xD
PD: Un poco troll a veces si que soy...  :P


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 21:50 pm
No creo que Seazoux haya sido engreido y/o arrogante porque de hecho no creo que el sepa solucionar este problema así que poco más que "troll" puede ser xD

...Ahora en serio, aquí los 3 somos principiantes, unos con más tiempo que otros, pero nada más.





@Syntaxerror404
¿Te miraste la propiedad "ShowInTaskbar"?, ¿Es eso lo que buscabas?, sinó... ¿puedes dar más detalles del problema?

Sino es eso entonces me imagino que lo que intentabas decir es que tienes la barra de tareas en modo "esconder automáticamente" y que cuando seleccionas la aplicación en ese momento la barra de tareas se restaura (se vuelve visible), imagino que para eso habrá que usar APIs, aunque se puede hacer mediante una clave de registro (Si en algo soy experto es en customizar Windows), pero eso requiere un reinicio de sesión/PC.

Salu2


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 1 Junio 2013, 09:00 am
@Syntaxerror404
¿Te miraste la propiedad "ShowInTaskbar"?, ¿Es eso lo que buscabas?, sinó... ¿puedes dar más detalles del problema?

No, eso no es lo que busco... pero igual ya me las arregle y lo solucione :)

PD: No se soluciono sigue el igual :/


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 4 Junio 2013, 17:47 pm
@Syntaxerror404
¿puedes dar más detalles del problema?

Bueno dare mas detalles. (Con imagenes)  :laugh: :xD


Tengo un juego y lo ejecuto en FullScreen y a mi programa le puse un boton de "TopMost" para tener siempre en frente la aplicacion

(http://i.imm.io/18gb0.png)

Pero cuando selecciono el programa este automaticamente me muestra la barra de tareas

(http://i.imm.io/18gaU.png)


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 4 Junio 2013, 18:50 pm
Creo que djiste que no era esto, pero si que es:
me imagino que lo que intentabas decir es que tienes la barra de tareas en modo "esconder automáticamente"
y que cuando seleccionas la aplicación en ese momento la barra de tareas se restaura (se vuelve visible)

¿Has probado a modificar la propiedad SHOWINTASKBAR a FALSE como te dije?, si no muestras el icono de la aplicación en el taskbar imagino que el taskbar no tendría motivos para "saltar".

Si eso no es suficiente, entonces como ya te dije hay que usar APIs: http://www.codeproject.com/Articles/25572/Hiding-the-Taskbar-and-Startmenu-start-orb-in-Wind

Código:
Taskbar.Show()
Taskbar.Hide()

Saludos


Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 4 Junio 2013, 18:58 pm
Si eso no es suficiente, entonces como ya te dije hay que usar APIs: http://www.codeproject.com/Articles/25572/Hiding-the-Taskbar-and-Startmenu-start-orb-in-Wind

Si use como me lo dijistes. pero tendre que usar las apis del proyecto que me pasastes

;) Gracias

Edito, es codigo de C#

XD tendre que pasarlo a VB.NET


Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 4 Junio 2013, 19:05 pm
Edito, es codigo de C#

XD tendre que pasarlo a VB.NET

Haz una dll con esa class "taskbar.cs" y luego referencias la dll a tu proyecto y listo.

No intentes traducir el code a VB, no vas a saber ni a poder hacerlo, los traductores online no saben traducirlo,
En el code de C# se llama a una función sin parámetros como si fuese un parámetro en si mismo, y eso en VB no sé como sería el equivalente.

Creo que haré una pregunta sobre como traducir ese maldita código ...sino posteas tu la misma pregunta antes que yo xD