Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2006, 10:08   #1
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Help Visual C#

Ho creato una form "Main" con cui voglio visualizzare altri due form "PannA" e "PannB" che ho creato con la funzione di Visual C# Add Windows Form; ho creato due semplici bottoni, ma quando è il momento di chiamare i due form "A" e "B" mi dice che non sono stati iniziallizzati. Come risolvo?
Grazie in anticipo
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 11:02   #2
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
non avrai utilizzato il new per inizializzali, se posti il codice forse si riesce ad essere più precisi
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db

Ultima modifica di Riordian : 07-11-2006 alle 11:06.
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 13:01   #3
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
ehm....
adesso funziona ma mi sa che ho fatto casino lo stesso

Questo per il Main

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Generazione_albero
{
public partial class Main : Form
{
Form panA = new PannelloA();
Form panB = new PannelloB();

public Main()
{
InitializeComponent();


}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Text == "PannelloA")
panA.ShowDialog();
if (e.Node.Text == "PannelloB")
panB.ShowDialog();

}

private void MainClick(object sender, EventArgs e)
{

}

private void PannelloAClick(object sender, EventArgs e)
{

panA.ShowDialog();

}

private void PannelloBClick(object sender, EventArgs e)
{

panB.ShowDialog();
}



}
}


Questo è per il PannelloA

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace Generazione_albero
{
public partial class PannelloA : Form
{
public PannelloA()
{
InitializeComponent();

}

private void PannelloA_Load(object sender, EventArgs e)
{
// Initialize the controls and the form.
label1.Text = "File Path";
label1.SetBounds(8, 8, 50, 20);
textBox1.Text = Application.StartupPath + "\\Sample.xml";
textBox1.SetBounds(64, 8, 256, 20);
button1.Text = "Populate the TreeView with XML";
button1.SetBounds(8, 40, 200, 20);
this.Text = "TreeView control from XML";
this.Width = 336;
this.Height = 368;
treeView1.SetBounds(8, 72, 312, 264);
}

private void button1_Click(object sender, EventArgs e)
{
try
{
// SECTION 1. Create a DOM Document and load the XML data into it.
XmlDocument dom = new XmlDocument();
dom.Load(textBox1.Text);

// SECTION 2. Initialize the TreeView control.
treeView1.Nodes.Clear();
treeView1.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
TreeNode tNode = new TreeNode();
tNode = treeView1.Nodes[0];

// SECTION 3. Populate the TreeView with the DOM nodes.
AddNode(dom.DocumentElement, tNode);
treeView1.ExpandAll();
}
catch (XmlException xmlEx)
{
MessageBox.Show(xmlEx.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
{
XmlNode xNode;
TreeNode tNode;
XmlNodeList nodeList;
int i;

// Loop through the XML nodes until the leaf is reached.
// Add the nodes to the TreeView during the looping process.
if (inXmlNode.HasChildNodes)
{
nodeList = inXmlNode.ChildNodes;
for(i = 0; i<=nodeList.Count - 1; i++)
{
xNode = inXmlNode.ChildNodes[i];
inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
tNode = inTreeNode.Nodes[i];
AddNode(xNode, tNode);
}
}
else
{
// Here you need to pull the data from the XmlNode based on the
// type of node, whether attribute values are required, and so forth.
inTreeNode.Text = (inXmlNode.OuterXml).Trim();
}
}
}
}
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2006, 16:02   #4
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
purtroppo non ho il tempo per analizzarlo essendo a lavorare ma:
hai qualche dubbio sul tuo codice?
non funziona?
in che senso hai combinato un casino?

P.S. Stai usando il 2.0 vedo.
Noi qua in ditta siamo fermi ancora all'1.1 spero in un prossimo progetto di utilizzare il 2.0.
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 08:31   #5
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Si in ufficio noi usiamo la 2.0;
penso di aver fatto casino nel senso che sono riuschito a far funzionare il tutto con queste righe

Form panA = new PannelloA();
Form panB = new PannelloB();

panA.ShowDialog();
panB.ShowDialog();

le ho inserite nell'even del Main, ma leggendo ho visto che si dovrebbe usare un'altra costruzione, probabilmente la dialog box, ma ci ho capito poco perchè a visual non ci sono abituato e non trovo il punto di codice dove crea i form
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 08:47   #6
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
Sono sempre di corsa comunque intanto non capisco perche hai usato la dichiarazione
Form panA = new PannelloA()
Form panB = new PannelloB()
io avrei dichiarato
PannelloA panA = new PannelloA()
PannelloB panB = new PannelloB()

cmq poi appena ho un po' di calma provo a vedere meglio.
Poi se qualcun'altro mi anticipa meglio
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 08:54   #7
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Grazie per l'aiuto
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 11:30   #8
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
di nulla, cmq non capisco le tue remore sui form, per le applicazioni windows la form class è la classe base delle windows che si creano nel progetto (a meno che nel 2.0 non sia cambiato qualche cosa ma non penso)
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 11:51   #9
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Non ho nessun problema con i form è solo che non trovo un punto nel codice generato dove viene scritto
Form PannelloA = new Form();

e mi aspetterei di trovarlo.
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 12:30   #10
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
Quote:
Originariamente inviato da jack0.1
Non ho nessun problema con i form è solo che non trovo un punto nel codice generato dove viene scritto
Form PannelloA = new Form();

e mi aspetterei di trovarlo.
perchè ti aspetteresti di trovarlo?
io non ne vedo il senso, per farti un esempio, quando crei una nuova classe di nome miaNuovaClasse, mica viene scritto da qualche parte nel codice
Codice:
Class miaNuovaClasse = new Class();
'iao
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 12:33   #11
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
Quote:
Originariamente inviato da jack0.1
Non ho nessun problema con i form è solo che non trovo un punto nel codice generato dove viene scritto
Form PannelloA = new Form();

e mi aspetterei di trovarlo.
no aspetta forse hai un po' di confusione.
PannelloA è un tipo che te hai creato tramite visual studio.
Dovresti avere da qualche parte (mi aspetterei un file PanneloA.cs)
in cui hai una definizione simile a quella sotto:

public class PannelloA:Form
{
...........
}


cioè una definizione di una Classe PannelloA che eredita la classe Form.
Poi tramite la definizione PannelloA panA dichiari un oggetto di tipo PannelloA
A questo punto lo inizializzi con panA = new PannelloA()
la formula in una riga è proprio PannelloA panA = new PannelloA()

la riga che hai scritto: Form PannelloA = new Form() non la troverai mai
così dichiareresti un oggetto pannelloA di Tipo Form e lo inizializzeresti
ma non è ciò che serve nella tua applicazione
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db

Ultima modifica di Riordian : 08-11-2006 alle 12:45.
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 13:06   #12
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Hai perfettamente ragione, ho fatto esattamente la procedura che hai descritto;
abbi pazienza ma non conosco ne c# ne Visual e sto imparandolo ora
Quindi la dialog box non mi serve?
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 13:36   #13
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
io credo che semplicemente, solo nell'evento dei bottoni, dovresti scrivere questo codice:


Codice:
//supposto che i bottoni si chiamino "button1" e "button2"

private void button1_Click(object sender, Eventargs e)
{
   Form PannelloA = new Form()
   PannelloA.Show();
}

//stessa cosa per il secondo form
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 13:50   #14
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Bene, allora è corretto quello che ho fatto.
Grazie
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 14:13   #15
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
Quote:
Originariamente inviato da RaouL_BennetH
io credo che semplicemente, solo nell'evento dei bottoni, dovresti scrivere questo codice:


Codice:
//supposto che i bottoni si chiamino "button1" e "button2"

private void button1_Click(object sender, Eventargs e)
{
   Form PannelloA = new Form()
   PannelloA.Show();
}

//stessa cosa per il secondo form
no così non va bene, è quello che dicevo prima se mai

Codice:
private void button1_Click(object sender, Eventargs e)
{
   PannelloA panA= new PannelloA()
   panA.ShowDialog();
}
Ma così non avrebbe visione di panA o panB in altre parti della classe
e lui le due form le usa anche in

Codice:
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Text == "PannelloA")
panA.ShowDialog();
if (e.Node.Text == "PannelloB")
panB.ShowDialog();

}


P.S. @jack Appena ho tempo ti rispondo al PVT
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 14:41   #16
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
Ho corretto funziona tutto perfettamente
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 14:48   #17
Riordian
Senior Member
 
L'Avatar di Riordian
 
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
Quote:
Originariamente inviato da jack0.1
Ho corretto funziona tutto perfettamente
ma non funzionava già prima?
__________________
tag XBOX live Aldair74
Nick PSNRiordian
Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db
Riordian è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2006, 16:26   #18
jack0.1
Member
 
L'Avatar di jack0.1
 
Iscritto dal: Jun 2005
Messaggi: 169
si ma ho modificato il codice dichiarando i form esternamente all'even; più comodo
jack0.1 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Cyberpunk 2077 arriverà su Battle...
Altro che divieto: interi pallet di GeFo...
QNAPTS-h966TX, il NAS per chi fa editing...
Il trucco semplicissimo per installare W...
Apple rinvia due novità di iOS 27...
Una memoria ferroelettrica raggiunge 10 ...
Honor Magic 9, Pro Max e Super Edition: ...
24 offerte Amazon da non perdere, dalla ...
Apple starebbe progettando i propri cont...
Niente borsa per OpenAI prima del 2027: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v