Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Modificare un panel da un
Forum - C# / VB.NET - Modificare un panel da un

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 16:30
Giovedì, 15/01/2009
Ciao a tutti, ho una classe principale "Form1" e una derivata "Inserisci".
In "Inserisci", ho una procedura, che inserisce un' immagine in un panel del Form1.
Nel Form1, dichiaro una variabile per la classe Inserisci. Solo che così, mi da un' errore...
Sapete come posso risolvere ?
Grazie a tutti ^^

Ultima modifica effettuata da crash outside control il 15/01/2009 alle 16:32


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
ventu (Normal User)
Newbie


Messaggi: 17
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 16:48
Giovedì, 15/01/2009
Scusa potresti postare il codice evidenzioando il problema-
Messa cosi non si capisce asattamente che variabile è a cosa ti serve....
ciao.

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:13
Giovedì, 15/01/2009
Si, scusa.
L' errore è questo:
Codice sorgente - presumibilmente Plain Text

  1. System.StackOverflowException non è stata gestita


Il codice di Form1:
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.     Dim inserisci As New inserisci
  3.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         Call inserisci.inse_img()
  5.     End Sub
  6. End Class



Il codice di Inserisci:
Codice sorgente - presumibilmente VB.NET

  1. Public Class Inserisci
  2.     Inherits Form1
  3.     Public Sub inse_img()
  4.         Dim immagine As New PictureBox
  5.         immagine.Name = "img"
  6.         immagine.Location = New Point(5, 5)
  7.         immagine.Height = 105
  8.         immagine.Width = 67
  9.         immagine.SizeMode = PictureBoxSizeMode.StretchImage
  10.         Dim stringa As String = "F:\200410140583_811011.jpg"
  11.         immagine.ImageLocation = stringa
  12.         p1.Controls.Add(immagine)
  13.     End Sub
  14. End Class


:)

Ultima modifica effettuata da crash outside control il 15/01/2009 alle 17:13


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
ventu (Normal User)
Newbie


Messaggi: 17
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 17:25
Giovedì, 15/01/2009
scusa conosco poco il vb ma quale sarebbe la variabile nella form che ti da errore il vedo solo la dichiarazione della finestra.
ciao

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:30
Giovedì, 15/01/2009
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim inserisci As New inserisci


Questo mi da errore... 8-|


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
ventu (Normal User)
Newbie


Messaggi: 17
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 17:35
Giovedì, 15/01/2009
hai creato il file??????

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:46
Giovedì, 15/01/2009
L' immagine? Si.
L' errore deve essere per forza nella dichiarazione di quella variabile... infatti se faccio così:
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         Dim immagine As New PictureBox
  4.         immagine.Name = "img"
  5.         immagine.Location = New Point(5, 5)
  6.         immagine.Height = 105
  7.         immagine.Width = 67
  8.         immagine.SizeMode = PictureBoxSizeMode.StretchImage
  9.         Dim stringa As String = "F:\200410140583_811011.jpg"
  10.         immagine.ImageLocation = stringa
  11.         p1.Controls.Add(immagine)
  12.     End Sub
  13. End Class


Funziona... mi sa che non va, perchè quella dichiarazione fa riferimento a se stessa 8-|


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
ventu (Normal User)
Newbie


Messaggi: 17
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 19:22
Giovedì, 15/01/2009
ti posso dare un cosiglio perche non usi Visual Studio 2005 o 2008
Semplifica molto le cose

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:12
Giovedì, 15/01/2009
Al caricamento, Form1 crea un oggetto inserisci, e di questo ne carica l'immagine. Dato che Inserisci deriva da Form1, anche questo crea un altro oggetto Inserisci e gli fa caricare un'immagine. Quest'ultimo deriva a sua volta ancora da Form1, quindi crea un altro Inserisci e così via...

Hai creato una classe ricorsiva che genera un ciclo infinito e che, quindi, sbilancia lo stack.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo