Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#8791
.NET (C#, VB.NET, ASP) / Re: Mostrar/Ocultar
4 Junio 2013, 18:50 PM
Creo que djiste que no era esto, pero si que es:
Cita de: EleKtro H@cker en 31 Mayo 2013, 21:50 PM
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

Taskbar.Show()
Taskbar.Hide()


Saludos
#8792
Esto ya está mejor, aunque la parte "alternativa" no está pulida, la parte "progresiva" está sin bugs:

[youtube=640,360]http://www.youtube.com/watch?v=-ctGY1k8M34&feature=youtu.be[/youtube]

Código (vbnet) [Seleccionar]
Public Class Form1

    Dim Scroll_Position As Int32 = 0
    Dim Button_Down_Is_Pressed As Boolean = False
    Dim Button_Up_Is_Pressed As Boolean = False
    Dim WithEvents Progressive_Scroll_Timer As New Timer
    Dim SmallChange As Int32 = 10
    Dim Largechange As Int32 = 20
    Dim Maximum As Int64 = 0

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Panel1.AutoScroll = True
        Maximum = Panel1.VerticalScroll.Maximum
        Panel1.AutoScroll = False
        Panel1.VerticalScroll.Maximum = Maximum / 2
        Progressive_Scroll_Timer.Interval = 50
        Panel1.BackColor = Color.FromArgb(150, 0, 0, 0)

        For Each PicBox As PictureBox In Panel1.Controls
            AddHandler PicBox.MouseHover, AddressOf Panel_MouseHover
        Next

    End Sub

    Private Sub Panel_MouseHover(sender As Object, e As EventArgs) Handles Panel1.MouseHover
        sender.select()
        sender.focus()
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Progressive_Scroll_Timer.Tick
        If Button_Down_Is_Pressed Then
            Scroll_Down(SmallChange)
        ElseIf Button_Up_Is_Pressed Then
            Scroll_Up(SmallChange)
        Else
            sender.stop()
        End If
    End Sub

    Private Sub Scroll_Up(ByVal Change As Int32)
        Scroll_Position -= Change
        Try
            Panel1.VerticalScroll.Value = Scroll_Position
        Catch
            Scroll_Position = 0
        End Try
    End Sub

    Private Sub Scroll_Down(ByVal Change As Int32)
        Scroll_Position += Change
        Try
            Panel1.VerticalScroll.Value = Scroll_Position
        Catch
            Scroll_Position -= Change
        End Try
    End Sub

    Private Sub Button_Down_MouseDown(sender As Object, e As MouseEventArgs) Handles Button2.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Button_Down_Is_Pressed = True
            Progressive_Scroll_Timer.Start()
        End If
    End Sub

    Private Sub Button_Up_MouseDown(sender As Object, e As MouseEventArgs) Handles Button1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Button_Up_Is_Pressed = True
            Progressive_Scroll_Timer.Start()
        End If
    End Sub

    Private Sub Button_Down_MouseUp(sender As Object, e As MouseEventArgs) Handles Button2.MouseUp
        Button_Down_Is_Pressed = False
    End Sub

    Private Sub Button_Up_MouseUp(sender As Object, e As MouseEventArgs) Handles Button1.MouseUp
        Button_Up_Is_Pressed = False
    End Sub

    Private Sub Form_MouseWheel(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Panel1.MouseWheel
        Select Case Math.Sign(e.Delta)
            Case Is > 0 : Scroll_Up(Largechange)
            Case Is < 0 : Scroll_Down(Largechange)
        End Select
    End Sub



    ' Versión alternativa:
    Dim PictureBoxes_Height As Int64 = 100 ' La altura de cada picturebox

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Scroll_Position -= PictureBoxes_Height
        Try
            Panel1.VerticalScroll.Value = Scroll_Position
        Catch
            Panel1.VerticalScroll.Value = 1
            Scroll_Position += PictureBoxes_Height
        End Try
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Scroll_Position += PictureBoxes_Height
        Try
            Panel1.VerticalScroll.Value = Scroll_Position
        Catch

            Scroll_Position -= PictureBoxes_Height
        End Try
    End Sub
    ' Fin de versión alternativa

End Class


Código (vbnet) [Seleccionar]
Public Class DoubleBufferedPanel
    Inherits Panel

    Public Sub New()
        DoubleBuffered = True
        ResumeLayout(False)
    End Sub

    Protected Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or &H2000000
            Return cp
        End Get
    End Property

End Class
#8793
ups... me equivoquñe de post al comentar xD (...tienes tantos).

http://foro.elhacker.net/net/scroll_de_imagenes-t391409.0.html;msg1858088#msg1858088

Sorry por el spam.
#8794
Como heredar un control para eliminar al 100% el Flickering en un control Default de un WindowsForm:

(Me he pasado unos 3-5 meses buscando una solución eficaz a esto ...Y aunque esta no es la solución más óptima, funciona y la considero eficaz en el aspecto de que funciona al 100%, pero leer el comentario que he dejado en inglés.)

Código (vbnet) [Seleccionar]
Public Class Panel_Without_Flickering

   Inherits Panel

   Public Sub New()
       Me.DoubleBuffered = False
       Me.ResumeLayout(False)
   End Sub

   ' Caution:
   ' This turns off any Flicker effect
   ' ...but also reduces the performance (speed) of the control about 30% slower.
   ' This don't affect to the performance of the application, only to the performance of this control.
   Protected Overrides ReadOnly Property CreateParams() As CreateParams
       Get
           Dim cp As CreateParams = MyBase.CreateParams
           cp.ExStyle = cp.ExStyle Or &H2000000
           Return cp
       End Get
   End Property

End Class







Un ejemplo hecho por mi de como heredar un control cualquiera, más bien es una especie de plantilla...

Código (vbnet) [Seleccionar]
Public Class MyControl  ' Name of this control.

   Inherits PictureBox ' Name of the inherited control.

#Region " New "

   Public Sub New()
       Me.DoubleBuffered = True
       Me.SetStyle(ControlStyles.ResizeRedraw, False)
       Me.Name = "MyControl"
       'Me.Text = "Text"
       'Me.Size = New Point(60, 60)
   End Sub

#End Region

#Region " Properties "

   Private _Description As String = String.Empty

   ''' <summary>
   ''' Add a description for this control.
   ''' </summary>
   Public Property Description() As String
       Get
           Return _Description
       End Get
       Set(ByVal Value As String)
           Me._Description = Value
       End Set
   End Property

#End Region

#Region " Event handlers "

   ' Private Sub MyControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
   '    Me.ForeColor = Color.White
   '    Me.BackColor = Color.CadetBlue
   ' End Sub

   ' Protected Overrides Sub OnPaint(ByVal pEvent As PaintEventArgs)
   '    MyBase.OnPaint(pEvent)
   '    If Me.Checked Then
   '       pEvent.Graphics.FillRectangle(New SolidBrush(Color.YellowGreen), New Rectangle(3, 4, 10, 12))
   '    End If
   ' End Sub

#End Region

#Region " Methods / Functions "

   ''' <summary>
   ''' Show the autor of this control.
   ''' </summary>
   Public Sub About()
       MsgBox("Elektro H@cker")
   End Sub

#End Region

End Class
#8795
Cita de: Iкillnuкes en  4 Junio 2013, 07:51 AM
Eso es a lo que me refiero y con el code que me distes arriba ya se puede?  :huh:

sip!

Ves haciéndolo y si te surge un problema al leer el valor del ini o al crear los pictureboxes te ayudo de mejor forma

Por cierto, para colocarlos dentro del panel:
Código (vbnet) [Seleccionar]
panel1.controls.add(MyNewPanel)






PD: ya tienes el dubspet subido en la url que te dije, pero se me jodió la subida 2 veces y el server no tiene "resume" así q he subido solo accesos directos.
#8796
Cita de: Iкillnuкes en  3 Junio 2013, 22:07 PMPero si cierro la app se va a borrar ese control?

Claro.

No esperes añadir los pictureboxes de forma permanente, eso no puedes hacerlo, es imposible porque en el Source no están declarados, tienes que generar los controles desde el código.

No me parece que séa un problema que al cerrar la app "se eliminen", si al volver a iniciar la app se volverían a generar los controles (crear, nombrar, colocar, redimensionar, lo que quieras) gracias a tu INI.

Saludos
#8797
Cita de: XresH en  3 Junio 2013, 21:47 PM
Digo, es posible que se creen 300 picture como para hacerlos todos en ejecución?

Si un array de controles de forma dinámica.

Cita de: Iкillnuкes en  3 Junio 2013, 20:55 PM
A ver no... Las picture box tienen que ser infinitas... Las picturebox se tienen que ir "creando" conforme el usuario vaya instalando Modpacks, (es algo asi como un acceso directo) luego el usuario la selecciona y le da a jugary se ejecuta el juego.  :P

Pues "detecta" el número de modpacks que hay instalados y vas creando en tiempo de ejecución cada picturebox como te expliqué... "For x to NúmeroDeModpacks"

Mírate mi post de snippets de vez en cuando, para algo está:

Código (vbnet) [Seleccionar]
   Dim chk_() As CheckBox

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       Dim Array_Size As Integer = 300 'change this for the number of controls that will appear
       ReDim chk_(Array_Size)

       For chk_num = 0 To Array_Size
           Application.DoEvents()
           chk_(chk_num) = New CheckBox
           chk_(chk_num).Text = "Checkbox " + chk_num.ToString
           chk_(chk_num).Top = 20 * chk_num
           Me.Controls.Add(chk_(chk_num))
       Next

   End Sub


300 pictureboxes o cuantos quieras

Salu2

#8798
Puedes definir el número de pictureboxes que serán, guardas ese número en el ini, y lo lees...

Código (vbnet) [Seleccionar]
For i as int32 = 1 to (valor)
   generar checkboxes
loop


no se si te refieres a hacer eso,
mañana hablamos por skype
#8799
Hola

1.
Código (vbnet) [Seleccionar]
       Dim oDirectContent As iTextSharp.text.pdf.PdfContentByte = oPdfWriter.DirectContent
       Dim oPdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(sInFilePath)


Cierra esos objetos cuando acabes de utilizarlos, tienen métodos para ello.

2.
Código (vbnet) [Seleccionar]
           Try
               oPdfDoc.Close()
               oPdfWriter.Close()
           Catch ex As Exception


Si esos otros dos objetos fallasen al cerrarse seguirán abiertos la próxima vez que llames al sub, intenta mejorar esa parte del código, elimina el Try.

Saludos!
#8800
Hombre, está claro que un archivo de texto no va a "crear" un control, lo que intenté decirte es que puedes leer en tiempo de ejecución los valores desde un INI para crear el picturebox en tiempo de ejecución.

Sigo sin saber exáctamente que es lo que quieres hacer, pero... :

Ejemplo:

test.ini
Nombre=PicBox
Dimensiones=300,300
BackColor=255,255,255


Class1.vb

Código (vbnet) [Seleccionar]
dim picture_name as string
dim picture_dimensions as point
dim picture_color as color

Private sub leer_ini()
    (   
    Aquí un procedimiento para leerl os valores del ini:
       picture_name = valor1 del ini
       picture_dimensions = new point(valor2 del ini.SPLIT(","))
       picture_color = color.fromargb(valor3 del ini.SPLIT(","))
    )
end sub

form_load()
   leer_ini()
   dim MyPictureBox as new picturebox
   MyPictureBox.name = picture_name
   MyPictureBox.size= picture_dimensions
   MyPictureBox.color= picture_color
   me.controls.add(MyPictureBox )
end sub


el code lo he escrito al vuelo, en la primera página de este subforo puedes encontrar un comentario mio sobre como cargar datos de un INI.

Salu2