Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Xephiro en 20 Marzo 2011, 23:33 pm



Título: [Solucionado] Diferencias en Form con fondo transparente en Win7 x64 y x86 (C#)
Publicado por: Xephiro en 20 Marzo 2011, 23:33 pm
Bueno aqui les dejo otra de mis dudas, he notado un montón de diferencias al programar una aplicación .net para x86 desde mi PC con windows 7 x64.

He creado una ventana con un fondo transparente, cuando es ejecutada desde windows 7 x64 todo lo que es transparente queda como un muro invisible, no puedo presionar nada que se vea atravez de las zonas transparentes.

pero si pruebo la aplicacion en windows 7 x86 las zonas transparentes son como si no existiera esa zona de la ventana y puedo acceder a todo lo que se vea atravez  de ese lugar.

¿Como es posible hacer que las ventanas se comporten de la misma forma en x64 y x86?


Título: Re: Diferencias en Form con fondo transparente en Windows 7 x64 y x86 (C#)
Publicado por: DaasCook en 22 Marzo 2011, 01:01 am
Momento, va a sonar tonto... pero a veces pasa, ¿Te has fijado en el porcentaje de transparencia?.


Título: Re: Diferencias en Form con fondo transparente en Windows 7 x64 y x86 (C#)
Publicado por: Xephiro en 22 Marzo 2011, 04:43 am
no creo que vaya por la aplicación misma ya que si creo un programa que sea solo la ventana con un botón en el centro y su respectivo fondo transparente me pasa lo mismo.


Título: Re: Diferencias en Form con fondo transparente en Windows 7 x64 y x86 (C#)
Publicado por: Xephiro en 22 Marzo 2011, 14:51 pm
Disculpen el doble post, pero he dado con una solución a mi problema xD.

Por algún motivo en windows 7 x64 (al menos en 2 maquinas en que he probado el programa) tengo que poner el fondo transparente de la siguiente forma.

Código:
this.BackColor = Color.White;
this.TransparencyKey = Color.Transparent;

Así me corre en x86 y x64 sin problemas y se comportan de la misma forma en ambos.

pero si pongo cualquier otro color, por ejemplo

Código:
this.BackColor = Color.Black;
this.TransparencyKey = Color.Black;

Me ocurre el problema que describía antes.