|
8931
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets)
|
en: 4 Junio 2013, 13:43 pm
|
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.) 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... 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
|
|
|
8932
|
Programación / .NET (C#, VB.NET, ASP) / Re: Crear PictureBox a través de una config .ini?
|
en: 4 Junio 2013, 08:42 am
|
Eso es a lo que me refiero y con el code que me distes arriba ya se puede? 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: 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.
|
|
|
8933
|
Programación / .NET (C#, VB.NET, ASP) / Re: Crear PictureBox a través de una config .ini?
|
en: 3 Junio 2013, 22:31 pm
|
Pero 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
|
|
|
8934
|
Programación / .NET (C#, VB.NET, ASP) / Re: Crear PictureBox a través de una config .ini?
|
en: 3 Junio 2013, 22:05 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. 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. 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á: 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
|
|
|
8936
|
Programación / .NET (C#, VB.NET, ASP) / Re: no puedo borrar pdf recien creado en vb.net
|
en: 3 Junio 2013, 20:44 pm
|
Hola 1. 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. 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!
|
|
|
8937
|
Programación / .NET (C#, VB.NET, ASP) / Re: Crear PictureBox a través de una config .ini?
|
en: 3 Junio 2013, 20:31 pm
|
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 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
|
|
|
8939
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets)
|
en: 2 Junio 2013, 17:53 pm
|
LA PARTE IMPORTANTE DE ESTOS CÓDIGOS LOS HE TOMADO DEL BUENO DE KUBOX: Escanear un puerto abierto #Region " Port Scan " ' [ Port Scan Function ] ' ' // By Elektro H@cker ' ' Examples : ' MsgBox(Port_Scan("84.126.113.10", 80)) ' MsgBox(Port_Scan("84.126.113.10", 80, Net.Sockets.ProtocolType.Udp)) Private Function Port_Scan(ByVal IP As String, ByVal Port As Int32, _ Optional ByVal Type As System.Net.Sockets.ProtocolType = Net.Sockets.ProtocolType.Tcp) As Boolean Dim Open As Boolean Try Dim socket As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, _ System.Net.Sockets.SocketType.Stream, Type) socket.Connect(IP, Port) Open = socket.Connected socket.Disconnect(False) Return Open Catch ex As Exception MsgBox(ex.Message) ' Return False End Try End Function #End Region
Escanear un rango de puertos #Region " Port Range Scan " ' [ Port Range Scan Function ] ' ' // By Elektro H@cker ' ' Examples : ' For Each Open_Port In Port_Range_Scan("84.126.113.10, 1, 5000) : MsgBox(Open_Port) : Next Private Function Port_Range_Scan(ByVal IP As String, ByVal Port_Start As Int32, ByVal Port_End As Int32, _ Optional ByVal Type As System.Net.Sockets.ProtocolType = Net.Sockets.ProtocolType.Tcp _ ) As List(Of String) Dim Open_Ports_List As New List(Of String) Try For Port As Int32 = Port_Start To Port_End Dim socket As New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, _ System.Net.Sockets.SocketType.Stream, Type) socket.Connect(IP, Port) If socket.Connected Then Open_Ports_List.Add(Port) socket.Disconnect(False) Next Port Return Open_Ports_List Catch ex As Exception MsgBox(ex.Message) Return Nothing End Try End Function #End Region
|
|
|
|
|
|
|