Foro de elhacker.net

Programación => .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
Código:
Nombre=PicBox
Dimensiones=300,300
BackColor=255,255,255

Class1.vb

Código
  1. dim picture_name as string
  2. dim picture_dimensions as point
  3. dim picture_color as color
  4.  
  5. Private sub leer_ini()
  6.    (  
  7.    Aquí un procedimiento para leerl os valores del ini:
  8.        picture_name = valor1 del ini
  9.        picture_dimensions = new point(valor2 del ini.SPLIT(","))
  10.        picture_color = color.fromargb(valor3 del ini.SPLIT(","))
  11.    )
  12. end sub
  13.  
  14. form_load()
  15.    leer_ini()
  16.    dim MyPictureBox as new picturebox
  17.    MyPictureBox.name = picture_name
  18.    MyPictureBox.size= picture_dimensions
  19.    MyPictureBox.color= picture_color
  20.    me.controls.add(MyPictureBox )
  21. 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
  1. For i as int32 = 1 to (valor)
  2.   generar checkboxes
  3. 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
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!!!


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
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.  :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
  1.    Dim chk_() As CheckBox
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.  
  5.        Dim Array_Size As Integer = 300 'change this for the number of controls that will appear
  6.        ReDim chk_(Array_Size)
  7.  
  8.        For chk_num = 0 To Array_Size
  9.            Application.DoEvents()
  10.            chk_(chk_num) = New CheckBox
  11.            chk_(chk_num).Text = "Checkbox " + chk_num.ToString
  12.            chk_(chk_num).Top = 20 * chk_num
  13.            Me.Controls.Add(chk_(chk_num))
  14.        Next
  15.  
  16.    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
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


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
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
  1. 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
  1.    Dim chk_() As PictureBox
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.  
  5.        Dim Array_Size As Integer = 100 'change this for the number of controls that will appear
  6.        ReDim chk_(Array_Size)
  7.  
  8.        For chk_num = 0 To Array_Size
  9.            Application.DoEvents()
  10.            chk_(chk_num) = New PictureBox
  11.            chk_(chk_num).Text = "Checkbox " + chk_num.ToString
  12.            chk_(chk_num).Top = 20 * chk_num
  13.            Me.Controls.Add(chk_(chk_num))
  14.        Next
  15.  
  16.    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:
Código:
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
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
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
o ú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
  1. #Region " Find String Ocurrences Function "
  2.  
  3.    ' [ Find String Ocurrences Function ]
  4.    '
  5.    ' Examples :
  6.    '
  7.    ' MsgBox(Find_String_Occurrences("Hello World", "o"))            ' Result: 2
  8.    ' MsgBox(Find_String_Occurrences("Hello me Hello you", "Hello")) ' Result: 2
  9.  
  10.    Private Function Find_String_Occurrences(ByVal Input_String As String, ByVal Search_String As String) As Integer
  11.  
  12.        Dim Input_String_Pos As Int32
  13.        Dim Input_String_Count As Int32
  14.  
  15.        Do
  16.            Input_String_Pos = Input_String.IndexOf(Search_String, Input_String_Pos)
  17.            If Input_String_Pos <> -1 Then
  18.                Input_String_Count += 1
  19.                Input_String_Pos += Search_String.Length
  20.            End If
  21.        Loop Until Input_String_Pos = -1
  22.  
  23.        Return Input_String_Count
  24.  
  25.    End Function
  26.  
  27. #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
  1.            Dim Array_Size As Integer = cuenta 'change this for the number of controls that will appear
  2.            ReDim pcb_(Array_Size)
  3.  
  4.            For pcb_num = 0 To Array_Size
  5.                Application.DoEvents()
  6.                pcb_(pcb_num) = New PictureBox
  7.                pcb_(pcb_num).BackColor = Color.FromArgb(255, pcb_num * 3, pcb_num * 2, pcb_num)
  8.                pcb_(pcb_num).Height = 77
  9.                pcb_(pcb_num).Width = widaco
  10.                pcb_(pcb_num).Left = 36
  11.                pcb_(pcb_num).Top = 85 * pcb_num + 15
  12.                pcb_(pcb_num).BackgroundImage = Image.FromFile(".\Art\im\" & pcb_num + 1 & ".png")
  13.                pcb_(pcb_num).Image = Image.FromFile(INI_Manager.Load_Value(".\Test.ini", "FuncImg-" & pcb_num))
  14.                pcb_(pcb_num).Tag = pcb_num
  15.                Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur
  16.                pcb_(deel + 2).Width = 200 'Aquí es donde tengo el conflicto, las pics no se cargan
  17.                Me.Controls.Add(pcb_(pcb_num))
  18.                pcb_(pcb_num).Parent = Panel1
  19.                AddHandler pcb_(pcb_num).Click, AddressOf pcb_Click
  20.            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í:

Citar
pcb_(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:

Citar
System.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
  1. Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur

Lo mismo pasa si pongo:

Código
  1. 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
Citar
Referencia 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
cual 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:

Citar
System.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
  1. 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
  1. 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