Librería de Snippets para VB.NET !! (Compartan aquí sus snippets)

Iniciado por Eleкtro, 18 Diciembre 2012, 22:23 PM

0 Miembros y 1 Visitante están viendo este tema.

ABDERRAMAH

¿En la del listview no se puede hacer listview.items.indexof("txt")? ¿o utiliza algún tipo de encapsulación distinta al string cada item?

Eleкtro

Cita de: Ikillnukes en 28 Junio 2013, 16:48 PMA ti te dejan doble postear? >:(

No lo considero doble-postear, posteo cuando tengo un nuevo snippet o una cantidad de snippets, a veces me los creo/consigo de 1 en 1 o de 5 en 5, nunca se sabe...

PD: A mi no me trollees xD




Cita de: ABDERRAMAH en 28 Junio 2013, 16:52 PM
¿En la del listview no se puede hacer listview.items.indexof("txt")? ¿o utiliza algún tipo de encapsulación distinta al string cada item?

El ...IndexOf("text") rquiere pasarle un "ListiewItem", no he podido pasarle un string para probar.

PD: A ver si consigues mejorarlo tu :P

un saludo!








Eleкtro

#222
Un ListView extendido para monitorizar cuando se añade y cuando se elimina un Item.

MUY IMPORTANTE: Hay que utilizar los nuevos métodos (AddItem, RemoveItem) en lugar de usar el antiguo ...items.Add o ...items.Remove, para que funcione.

PD: Si alguien sabe como overridearlos de forma correcta que lo diga :P

Código (vbnet) [Seleccionar]
'  /*                  *\
' |#* ListView Elektro *#|
'  \*                  */
'
' // By Elektro H@cker
'
'   Properties:
'   ...........
' · Disable_Flickering
' · Double_Buffer
'
'   Events:
'   .......
' · ItemAdded
' · ItemRemoved
'
'   Methods:
'   .......
' · AddItem
' · RemoveItem

Public Class ListView_Elektro : Inherits ListView

   Public Event ItemAdded()
   Public Event ItemRemoved()

   Private _Disable_Flickering As Boolean = True

   Public Sub New()
       Me.Name = "ListView_Elektro"
       Me.DoubleBuffered = True
       ' Me.GridLines = True
       ' Me.MultiSelect = True
       ' Me.FullRowSelect = True
       ' Me.View = View.Details
   End Sub

#Region " Properties "

   ''' <summary>
   ''' Enable/Disable any flickering effect on the ListView.
   ''' </summary>
   Protected Overrides ReadOnly Property CreateParams() As CreateParams
       Get
           If _Disable_Flickering Then
               Dim cp As CreateParams = MyBase.CreateParams
               cp.ExStyle = cp.ExStyle Or &H2000000
               Return cp
           Else
               Return MyBase.CreateParams
           End If
       End Get
   End Property

   ''' <summary>
   ''' Set the Double Buffer.
   ''' </summary>
   Public Property Double_Buffer() As Boolean
       Get
           Return Me.DoubleBuffered
       End Get
       Set(ByVal Value As Boolean)
           Me.DoubleBuffered = Value
       End Set
   End Property

   ''' <summary>
   ''' Enable/Disable the flickering effects on this ListView.
   '''
   ''' This property turns off any Flicker effect on the ListView
   ''' ...but also reduces the performance (speed) of the ListView about 30% slower.
   ''' This don't affect to the performance of the application itself, only to the performance of this control.
   ''' </summary>
   Public Property Disable_Flickering() As Boolean
       Get
           Return _Disable_Flickering
       End Get
       Set(ByVal Value As Boolean)
           Me._Disable_Flickering = Value
       End Set
   End Property

#End Region

#Region " Methods "

   ''' <summary>
   ''' Add an item to the ListView.
   ''' </summary>
   Public Function AddItem(ByVal Text As String) As ListViewItem
       RaiseEvent ItemAdded()
       Return MyBase.Items.Add(Text)
   End Function

   ''' <summary>
   ''' Remove an item from the ListView.
   ''' </summary>
   Public Sub RemoveItem(ByVal Item As ListViewItem)
       RaiseEvent ItemRemoved()
       MyBase.Items.Remove(Item)
   End Sub

#End Region

End Class



Ejemplo de uso:

Código (vbnet) [Seleccionar]
#Region " [ListView Elektro] Monitor Item added-removed "

    ' [ListView Elektro] Monitor Item added-removed
    '
    ' // By Elektro H@cker

        Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
           Dim Item As ListViewItem = ListView1.AddItem("Test") ' Add the item
           ListView1.RemoveItem(Item) ' Remove the item
       End Sub
     
       Private Sub ListView_ItemChanged() Handles ListView1.ItemAdded, ListView1.ItemRemoved
     
           ' I check if exists at least 1 item inside the ListView
           If ListView1.Items.Count <> 1 Then MsgBox("Listview have items.") Else MsgBox("Listview is empty.")
     
       End Sub

#End Region








Eleкtro

#223
En una aplicación tengo un textbox donde escribo "X" texto y después añado ese texto a un control, pues bien, después de añadir el texto al control, necesito refrescar el texto del Textbox para que se "raisee" el evento OnTextChanged del textbox, pero esto es imposible hacerlo usando Refresh o Invalidate porque lo que actualizan es el drawing del control, no el texto, la única manera es modificando el texto...

...Así que hice este pequeñísimo procedimiento genérico:
Código (vbnet) [Seleccionar]
   ' Refresh Textbox Text
   Private Sub Refresh_Textbox_Text(ByVal TextBox As TextBox)
       Dim TempText As String = TextBox.Text
       TextBox.Clear()
       TextBox.Text = TempText
   End Sub


Es muy sencilla, pero a alguien le servirá.

' Aquí otra forma:
Código (vbnet) [Seleccionar]
   Private Sub textBox1_Invalidated(sender As Object, e As System.Windows.Forms.InvalidateEventArgs) Handles textBox1.Invalidated
       textBox1_TextChanged(sender, New EventArgs())
   End Sub


Saludos.








z3nth10n

Pregunta puedo hacer un Snippet en varios lenguajes (php, html, mysql y batch) ? :silbar:

Interesados hablad por Discord.

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

z3nth10n

Ya he dicho los lenguajes aunque lo que voy a postear iría más bien en Scripting.. :silbar:

Interesados hablad por Discord.

Eleкtro

#227
Cita de: Ikillnukes en 29 Junio 2013, 23:03 PMlo que voy a postear iría más bien en Scripting.. :silbar:

Estamos en .NET, no en scripting ...¿No?.

No es mi trabajo decirte esto pero podrías mandar un privado a uno de los moderadores de esta sección para que te resuelva ese tipo de preguntas, en lugar de volver a spamear este post con preguntas que tienen respuestas obvias... poder puedes postearlo si compensas posteando la parte de .NET, creo que NovLucker pensará igual, somos comprensivos (nos da un poco igual que lo hagas xD), ahora, muy correcto no es hacer eso ...tu mismo.

Saludos...








z3nth10n

Si la verdad es que a veces digo cosas que me las podría callar, lo siento. ;)

Interesados hablad por Discord.

SγиtαxEяяoя

Creo que me ausente algo, sera porque mi maldito proveedor de internet es una ***** que hasta las imagenes de tumblr e imageshack me las bloquea -.-"

Pero claro el foro tambien.




Cita de: Ikillnukes en 22 Junio 2013, 20:29 PM
Syntax le haría falta uno de SoundCloud, porque no le damos una sorpresa entre los dos? :silbar:

No sera necesario, con la ayuda de electro me fue mas que suficiente :)
pero igual puedes sorprenderme, aunque igual me sorprenderia mas lo que electro que mostrara. no es por nada pero el sabe mas


Cita de: EleKtro H@cker en 22 Junio 2013, 20:39 PM
Se le dieron las herramientas necesarias, es fácil usar RegEx, solo tiene que mostrar sus progresos intentando hacer el code y...

Saludos

Si, me distes las herramientas pero no solo era la GUI que hice tambien su codigo :)