Visual Basic - [ayuda] Problema con visualización de form

Life is soft - evento anual de software empresarial
 
Vista:

[ayuda] Problema con visualización de form

Publicado por Chaoss (1 intervención) el 01/04/2016 23:49:11
Buenas gente, molesto con un pequeño pero incomodo problema que tengo en Visual Studio 2015.
Estoy intentando programar un formulario, haciendo yo mismo la interfaz, sin bordes (FormBorderStyle = none), pero a la hora de ejecutar el programa los bordes de lo que sería la imagen png que uso de fondo, se ve muy mal, como si tuviera un color de fondo y se haya cortado brutamente, voy a mostrar una foto de ejemplo:


BBA50C620


separador



Usé muchas imágenes, tanto hechas por mí como descargadas, con todo es igual, y es muy raro por que antes no me pasaba. Probé varios códigos y ninguno funcionó. Los ultimos que usé fueron:

1
2
3
Me.BackColor = Nothing
TransparencyKey = BackColor
Me.FormBorderStyle = FormBorderStyle.None


separador


En el load del form, y el otro:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Inherits System.Windows.Forms.Form
 
  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        'Aca tiene que cargar su imagen de fondo...
 
        Dim imagen As Image = me.backgroundimage
 
        Me.BackgroundImage = imagen
 
        Me.Height = imagen.Height
 
        Me.Width = imagen.Width
 
        Dim mibitmap As Bitmap = CType(imagen, Bitmap)
 
        'Le paso a la funcion la imagen el bitmap de fondo y el color transparente ( En este caso tomo el color del pixel 0,0 del bitmap)
 
        'Dicha función me retorna la región de la imagen para poder asignarla a la región del formulario
 
        Me.Region = ObtenerRegionDelBitmap(mibitmap, mibitmap.GetPixel(0, 0))
 
    End Sub
 
 
 
    Private Function ObtenerRegionDelBitmap(ByVal MiImagen As Bitmap, ByVal ColorTransparente As Color) As Region
 
        Dim RegionLocal As Region
 
 
 
        If MiImagen Is Nothing Then Return RegionLocal
 
 
 
        Dim ColorDeFondo As Color = ColorTransparente
 
        Dim Largo As Integer = MiImagen.Height - 1
 
        Dim Ancho As Integer = MiImagen.Width
 
        Dim Fila As Integer
 
        Dim Columna As Integer
 
 
 
        RegionLocal = New Region(New Rectangle(0, 0, 0, 0))
 
 
 
        For Fila = 0 To Largo
 
            Dim ColumnaComienzo As Integer = -1
 
            Dim ColumnaFin As Integer = -1
 
 
 
            For Columna = 0 To Ancho
 
                If Columna = Ancho Then
 
                    If ColumnaComienzo <> -1 Then
 
                        ColumnaFin = Columna
 
 
 
                        Dim regUnion As New Region(New Rectangle(ColumnaComienzo, Fila, ColumnaFin - ColumnaComienzo, 1))
 
                        RegionLocal.Union(regUnion)
 
                        regUnion = Nothing
 
                    End If
 
                Else
 
                    If Not MiImagen.GetPixel(Columna, Fila).Equals(ColorDeFondo) Then
 
                        If ColumnaComienzo = -1 Then ColumnaComienzo = Columna
 
                    ElseIf MiImagen.GetPixel(Columna, Fila).Equals(ColorDeFondo) Then
 
                        If ColumnaComienzo <> -1 Then
 
                            ColumnaFin = Columna
 
 
 
                            Dim regUnion As New Region(New Rectangle(ColumnaComienzo, Fila, ColumnaFin - ColumnaComienzo, 1))
 
                            RegionLocal.Union(regUnion)
 
                            regUnion = Nothing
 
 
 
                            ColumnaComienzo = -1
 
                            ColumnaFin = -1
 
                        End If
 
                    End If
 
                End If
 
            Next
        Next
 
        Return RegionLocal
 
End Function

separador
También probé lo del transparency key pero tampoco funcionó.
Voy a probar descargando algún visual mas viejo, alguien sabe algo para solucionarlo?
Desde ya, muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder