Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: z3nth10n en 3 Junio 2013, 19:49 PM

Título: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 3 Junio 2013, 19:49 PM
Hola bueno, necesito que un form lea una .ini y que cree un PictureBox, y como es logico que le meta ya directamente todas sus properties....

Con que me deis un ejemplo funcional ya me las apaño, puesto que meter nuevas variables solo sera leer dos cosas y copiar y pegar y cambiar esas dos cosas...  :silbar:

Un saludo.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro 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

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
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 3 Junio 2013, 20:37 PM
Las picturebox tienen que estar precreadas? No quiero poner limite de modpacks a mis usuarios... Si te conectases a Skype te lo contaría XD




Por si no tienes pensado conectarte, mira esta imagen:

(http://i.imgur.com/pKR97zo.png)

Más o menos sabes lo que digo?  >:D
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 3 Junio 2013, 20:47 PM
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
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n 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
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: XresH en 3 Junio 2013, 21:47 PM
Una pregunta no, no es posible dejar creados los picture box y darle a un visible true luego?

y si se crean demasiados crearlos en tiempo de ejecución como te dijo electro xD

Digo, es posible que se creen 300 picture como para hacerlos todos en ejecución?

Saludos.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: SγиtαxEяяoя en 3 Junio 2013, 21:55 PM
O sacar provecho y no crear tanto picturebox

50 modpacks = Gratis
100 modpacks  = 1.50$
500 modpacks  = 5$

U.U soy malo con los precios ajjaja
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 3 Junio 2013, 22:01 PM
Y como se mete en tiempo de ejecución?

Se supone que el ini tiene que servir para guardarlos y que no se borren cuando cierras la app y la vuelves a abrir.  :rolleyes:
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: XresH en 3 Junio 2013, 22:04 PM
Cita de: SγиtαxEяяoя en  3 Junio 2013, 21:55 PM
O sacar provecho y no crear tanto picturebox

50 modpacks = Gratis
100 modpacks  = 1.50$
500 modpacks  = 5$

U.U soy malo con los precios ajjaja


Te van a denunciar y a llevar preso hombre jajajaja ladron!!!


Cita de: Iкillnuкes en  3 Junio 2013, 22:01 PM
Y como se mete en tiempo de ejecución?

Se supone que el ini tiene que servir para guardarlos y que no se borren cuando cierras la app y la vuelves a abrir.  :rolleyes:

Electro te puso un ejemplo, lo probaste? el ini usalo para guardar las propiedades de los picture, y los vas creando, recorriendo todo el ini asignando cada valor al picture correspondiente, que code tenes hasta el momento y te ayudamos.

Saludos!
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 3 Junio 2013, 22:05 PM
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

Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 3 Junio 2013, 22:07 PM
Pero si cierro la app se va a borrar ese control?
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: XresH en 3 Junio 2013, 22:14 PM
No estaba haciendo la pregunta en concreto :P me expresé mal, a lo que iba es que si era posible que un usuario en TU juego tenga que crear 300 pictures box o mas al iniciar la aplicación?

Ya que si el usuario crea maximo de 10, hazlos en tiempo de diseño y que luego aparezcan, y guardas todo solamente de un maximo de 10 picture o 20.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 3 Junio 2013, 22:31 PM
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
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n 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:
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 4 Junio 2013, 08:42 AM
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.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 4 Junio 2013, 13:56 PM
Ya te he contado lo que ha pasado intentaré solucionarlo para esta tarde pero no te prometo nada. :silbar:
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 4 Junio 2013, 14:22 PM
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.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 6 Junio 2013, 22:01 PM
Soy muy noob, y no se como hacer lo del los controles en el tiempo de ejecucción...

Tengo este code:

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

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

        Dim Array_Size As Integer = 100 '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 PictureBox
            chk_(chk_num).Text = "Checkbox " + chk_num.ToString
            chk_(chk_num).Top = 20 * chk_num
            Me.Controls.Add(chk_(chk_num))
        Next

    End Sub


A ver, cuando lo meto, no se genera nada....

Se supone que están creados y lo único que falta son mostrarlos?
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 7 Junio 2013, 04:19 AM
Pero Seazoux, ya que haces un copy/paste al menos modifica lo de "chk_" por algo como "pcb_" para que en un futuro, al volver a leer ese código, entiendas lo que hiciste xD.

Los pictureboxes no tienen la propiedad "Text", así que elimina esa línea.

No los ves porque son transparentes, añádele un:
pcb_(pcb_num).BackColor = Color.Red

Y agranda el valor del "top" a 80 o 90, porque 20 lo puse para Checkboxes, y los pictureboxes por defecto son el triple de anchos que un checkbox, vas a ver una columna roja y ya.

Saludos
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 7 Junio 2013, 07:44 AM
Tengo otra duda, he puesto Panel1.Controls.Add(Panel1)

Dentro del For, ahora los pics tienen las propiedades del Panel1 xD
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 7 Junio 2013, 09:58 AM
Cita de: Ikillnukes en  7 Junio 2013, 07:44 AM
Tengo otra duda, he puesto Panel1.Controls.Add(Panel1)

Dentro del For, ahora los pics tienen las propiedades del Panel1 xD

Claro, las propiedades del container las heredan los controles que añades dentro del container... pasa lo mismo si los creas/añades desde el designer.

Modifica las propiedades que consideres "conflictivas" del panel

un saludo
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 7 Junio 2013, 11:08 AM
Cita de: EleKtro H@cker en  7 Junio 2013, 09:58 AM
Claro, las propiedades del container las heredan los controles que añades dentro del container... pasa lo mismo si los creas/añades desde el designer.

Modifica las propiedades que consideres "conflictivas" del panel

un saludo

Pero si le pongo un color de argb va a tomar ese color también el pic, teniendo ya puesto el pic la propiedad del argb?
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 12 Junio 2013, 15:26 PM
Gracias por este snippet tan bueno... Ahora ya podré seguir...

Ahora tengo una duda... Tengo que contar el numero de pcbs que ya hay para saber a cual pcb se le va a asignar ese value...

Tendria que contar una frase o una palabra que fuese comun para todo el ini... Ahora la cosa es como cuento la veces que sale dicha palabra, estuve buscando en google pero na... :silbar:
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 12 Junio 2013, 16:48 PM
IkillNukes,
me caes bien pero al menos yo desde luego no me voy a molestar en ayudar a alguien si priméramente esa persona no se digna a formular corréctamente una pregunta, mostrando código, mostrando el ini, siendo especifico y dando detalles, mostrando los put*s errores/excepciones, en fin mostrando los datos necesarios y que se vea que lo estás intentando, la verdad es que ya cansa mucho ver este tipo de preguntas tuyas, no porque seas pesado ni nada parecido, sino porque son preguntas sin ningún tipo de información por tu parte, sin sentido, solo pides las cosas ya hechas y ni siquiera se entiende lo que pides en la mayoría de los casos.

Si no dispones del tiempo suficiente para escribir todo lo necesario para poder formular una pregunta DECENTE para que en general los demás usuarios te podamos ENTENDER y de alguna manera te podamos RESPONDER y ayudar en lo que podamos, pues comprende que los demás usuarios tenemos aún menos tiempo para leer tonterías y contestarlas.

Espero que no te haya molestado, mi pequeña crítica constructiva.

Saludos!
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 12 Junio 2013, 16:55 PM
Por eso digo siempre que te conectes a Skype, por ahí podemos hablar clara y lentamente Y pa colmo ni leo, ni explico bien...

La duda que he formulado arriba si se como resolverla.... Lo único que necesito saber es como contar cuantas veces se repite una palabra en un ini, asi de fácil... Yo mismo me lié formulando la pregunta (la de arriba) así que... XD
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 12 Junio 2013, 19:14 PM
Cita de: Ikillnukes en 12 Junio 2013, 16:55 PMo único que necesito saber es como contar cuantas veces se repite una palabra en un ini

Hace tiempo posteé un snippet para eso:

Código (vbnet) [Seleccionar]
#Region " Find String Ocurrences Function "

    ' [ Find String Ocurrences Function ]
    '
    ' Examples :
    '
    ' MsgBox(Find_String_Occurrences("Hello World", "o"))            ' Result: 2
    ' MsgBox(Find_String_Occurrences("Hello me Hello you", "Hello")) ' Result: 2

    Private Function Find_String_Occurrences(ByVal Input_String As String, ByVal Search_String As String) As Integer

        Dim Input_String_Pos As Int32
        Dim Input_String_Count As Int32

        Do
            Input_String_Pos = Input_String.IndexOf(Search_String, Input_String_Pos)
            If Input_String_Pos <> -1 Then
                Input_String_Count += 1
                Input_String_Pos += Search_String.Length
            End If
        Loop Until Input_String_Pos = -1

        Return Input_String_Count

    End Function

#End Region
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 12:53 PM
Bueno, pues estoy intentado algo tal que así:

Código (vbnet) [Seleccionar]
           Dim Array_Size As Integer = cuenta 'change this for the number of controls that will appear
           ReDim pcb_(Array_Size)

           For pcb_num = 0 To Array_Size
               Application.DoEvents()
               pcb_(pcb_num) = New PictureBox
               pcb_(pcb_num).BackColor = Color.FromArgb(255, pcb_num * 3, pcb_num * 2, pcb_num)
               pcb_(pcb_num).Height = 77
               pcb_(pcb_num).Width = widaco
               pcb_(pcb_num).Left = 36
               pcb_(pcb_num).Top = 85 * pcb_num + 15
               pcb_(pcb_num).BackgroundImage = Image.FromFile(".\Art\im\" & pcb_num + 1 & ".png")
               pcb_(pcb_num).Image = Image.FromFile(INI_Manager.Load_Value(".\Test.ini", "FuncImg-" & pcb_num))
               pcb_(pcb_num).Tag = pcb_num
               Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur
               pcb_(deel + 2).Width = 200 'Aquí es donde tengo el conflicto, las pics no se cargan
               Me.Controls.Add(pcb_(pcb_num))
               pcb_(pcb_num).Parent = Panel1
               AddHandler pcb_(pcb_num).Click, AddressOf pcb_Click
           Next


Como observarás he vuelto  a tu antiguo code....

Un saludo.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 16:21 PM
Detalles del error, etc?

saludos
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 17:22 PM
Básicamente lo digo aquí:

Citarpcb_(deel + 2).Width = 200 'Aquí es donde tengo el conflicto, las pics no se cargan

Un saludo. :P
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 18:31 PM
Eso ya lo leí, te pregunto si salta alguna excepción, ya que en esa línea no "cargas" los controles, solo modificas su tamaño, por eos me parece extraño que afirmes que el error está en esa linea.

saludos!
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 18:48 PM
No me salta ninguna excepción, simplemente el panel se queda vacío. :-\
Esa línea es la errónea puesto que si la quito, vuelve todo a estar como estaba.
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 19:40 PM
Pues prueba a poner un breakpoint o un msgbox para comprobar el valor "deel" antes de modificar el width... por cierto en el code modificas dos veces el width...

saludos
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 19:44 PM
Ya añadí un MsgBox y va perfecto. Ehm ya se que hay 2 widths, uno es el que cambia y el otro es el que añade el width por default a cada uno de los pics. Voy a probar borrando ese width y activando el otro. :P




Ahora he borrado uno de los widths y antes de mostrar el code me suelta esta excepción:

CitarSystem.InvalidOperationException was unhandled
 HResult=-2146233079
 Message=Error al crear el formulario. Consulte Exception.InnerException para obtener más detalles. Error: Referencia a objeto no establecida como instancia de un objeto.
 Source=IkillLauncher
 StackTrace:
      en WindowsApplication1.My.MyProject.MyForms.Create__Instance__[T](T Instance) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 190
      en WindowsApplication1.My.MyProject.MyForms.get_frmModpacks()
      en WindowsApplication1.frmMinecraft.Label2_Click(Object sender, EventArgs e) en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmMinecraft.vb:línea 134
      en System.Windows.Forms.Control.OnClick(EventArgs e)
      en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      en System.Windows.Forms.Control.WndProc(Message& m)
      en System.Windows.Forms.Label.WndProc(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.Run(ApplicationContext context)
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      en WindowsApplication1.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
      en System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Threading.ThreadHelper.ThreadStart()
 InnerException: System.NullReferenceException
      HResult=-2147467261
      Message=Referencia a objeto no establecida como instancia de un objeto.
      Source=IkillLauncher
      StackTrace:
           en WindowsApplication1.frmModpacks..ctor() en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmModpacks.vb:línea 44
      InnerException:

Si lo vuelvo a poner siempre toma el primero y si bajo el scroll no cambia el width de ninguna imagen. :-\

La linea 44 es justamente esta:

Código (vbnet) [Seleccionar]
Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur

Lo mismo pasa si pongo:

Código (vbnet) [Seleccionar]
pcb_(3).Width = 200

Por ejemplo :/
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 20:36 PM
CitarReferencia a objeto no establecida como instancia de un objeto.

Traducción: El objeto no existe.

Posible causa: Estás intentando llamar al panel cuando todavia no se ha creado/instanciado en la ventana del load.

Me apuesto mi casa entera a que tienes ese código de los pcbs() en el form load, muevelo todo al evento shown, no al load.

Saludos!
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 20:39 PM
Perdona la ignorancia, cual es el evento shown? :xD
El que muestra el panel, o comorl? :rolleyes:
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 20:40 PM
Cita de: Ikillnukes en 22 Junio 2013, 20:39 PMcual es el evento shown? :xD

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown.aspx

Esta "la perdono", porque yo al principio también me rallaba mucho cuando intentaba manejar controles en el evento load, pero es fácil de entender... el "form load" es para dejar cargar la ventana (el form) y sus controles, si intentas obtener el valor de un panel que todavía no se ha instanciado en el designer pues...kaboom (Referencia a objeto no establecida como instancia de un objeto.).

Saludos
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 20:51 PM
Me parece que apuestas bien xD

Gracias a ese evento acabo de arreglar un bug de una excepción que llevaba tiempo ya jodiendo la marrana xD

Vale ahora salta esa excepción:

CitarSystem.NullReferenceException was unhandled
 HResult=-2147467261
 Message=Referencia a objeto no establecida como instancia de un objeto.
 Source=IkillLauncher
 StackTrace:
      en WindowsApplication1.frmModpacks.frmModpacks_Shown(Object sender, EventArgs e) en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmModpacks.vb:línea 186
      en System.Windows.Forms.Form.OnShown(EventArgs e)
      en System.Windows.Forms.Form.CallShownEvent()
      en System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
      en System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
      en System.Windows.Forms.Control.InvokeMarshaledCallbacks()
      en System.Windows.Forms.Control.WndProc(Message& m)
      en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      en System.Windows.Forms.ContainerControl.WndProc(Message& m)
      en System.Windows.Forms.Form.WndProc(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.Run(ApplicationContext context)
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      en WindowsApplication1.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
      en System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Threading.ThreadHelper.ThreadStart()
 InnerException:

Y no se porque no puedo declarar esto:

Código (vbnet) [Seleccionar]
Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur + 2

fuera de un evento. Es super raro, si lo declaro fuera me salta esa excepción, y si lo declaro dentro me salta esta otra que acabo de pegar.  :-\




Gracias por perdonarmela, aunque bueno, yo ayudar más bien lo considero como dar el code hecho, ahora mismo, lo que estás haciendo es recomendarme que haga una cosa u otra, en mi opinión. :P
Así es como me gustaría resolver mis dudas (las más sencillas) ;)




Por cierto, linea 186:

Código (vbnet) [Seleccionar]
pcb_(deel).Width = 200

Creo que seguimos en las mismas, por lo menos ahora ese form si se me abre. :P
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: Eleкtro en 22 Junio 2013, 21:21 PM
Ahora que vuelvo a ver la línea de la división ya está todo claro: "/"

...te recuerda eso algo?

PD: Bueno, no se si ese será el problema porque no se si la operación da como resultado un decimal o un entero, pero usa el otro operador...

Saludos!
Título: Re: Crear PictureBox a través de una config .ini?
Publicado por: z3nth10n en 22 Junio 2013, 21:28 PM
Pues a ver, ehm tuve encuenta lo que dijistes, pero por igual, cuando pulso el botón y me suelta un MsgBox con un numero entero y no un decimal :P

PD: Ya lo he comprobado, pero, nanai, no tiene nada que ver, :(

A ver si me he enterado bien, los pcbs hay que crearlos desde Shown? Pues es super raro, me sigue diciendo que están sin crearse.

Y lo más probable es que cuando demos con la clave me mates :xD