Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-08-2008, 15:00   #1
FedericoT
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 7
[C#] Progettazione seconda form

Salve a tutti.
Sto sviluppando una piccola applicazione in C# utilizzando lo strumento Microsoft Visual C# 2005 Express Edition.
Cliccando su un pulsante ho fatto in modo di aprire una nuova form utilizzando questo codice:
Form form2 = new Form();
form2.Show();
A questo punto vorrei passare alla progettazione visuale in questa form, ma non so come fare. Qualcuno può aiutarmi?
Inoltre vorrei fare in modo che finchè la form2 è aperta, la form1 mi resti in secondo piano ma non sia utilizzabile.

Grazie anticipatamente.
FedericoT è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 15:10   #2
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
Quote:
Originariamente inviato da FedericoT Guarda i messaggi
Inoltre vorrei fare in modo che finchè la form2 è aperta, la form1 mi resti in secondo piano ma non sia utilizzabile.
Per far ciò basta semplicemente che la form2 sia modale, ovvero invece di fare
form2.Show(), fai form2.ShowDialog() e il gioco è fatto.

Per la seconda domanda, non riesco a capire bene il problema , cmq, invece di aggiungere direttamente queste due righe,

Form form2 = new Form();
form2.Show();

potresti andare nel tuo solution explorer e cliccare sul progetto con il destro. A questo punto, scegliendo Add, selezioni Windows Form cosi lui ti crea il file form con il designer già integrato e modificabile.

A quel punto, all'interno dell'evento click del bottone, scrivi semplicemente new nomeform().ShowDialog();

avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 16:00   #3
FedericoT
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 7
Quote:
Originariamente inviato da avastreg Guarda i messaggi
Per far ciò basta semplicemente che la form2 sia modale, ovvero invece di fare
form2.Show(), fai form2.ShowDialog() e il gioco è fatto.

Per la seconda domanda, non riesco a capire bene il problema , cmq, invece di aggiungere direttamente queste due righe,

Form form2 = new Form();
form2.Show();

potresti andare nel tuo solution explorer e cliccare sul progetto con il destro. A questo punto, scegliendo Add, selezioni Windows Form cosi lui ti crea il file form con il designer già integrato e modificabile.

A quel punto, all'interno dell'evento click del bottone, scrivi semplicemente new nomeform().ShowDialog();

Grazie mille mi hai risolto il problema. Scusa ma siccome sono alle prime armi faccio domande un po' ingenue.
FedericoT è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 16:42   #4
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
Quote:
Originariamente inviato da FedericoT Guarda i messaggi
Grazie mille mi hai risolto il problema. Scusa ma siccome sono alle prime armi faccio domande un po' ingenue.
ci mancherebbe ci passiamo tutti e fai bene a chiedere prima di diventare matto, è un attimo rispondere
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 16:54   #5
FedericoT
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 7
Quote:
Originariamente inviato da avastreg Guarda i messaggi
ci mancherebbe ci passiamo tutti e fai bene a chiedere prima di diventare matto, è un attimo rispondere
Dopo aver creato la form con il comando new nomeform().ShowDialog() dentro all'evento di click di un pulsante, dovrei passare alla nuova form delle variabili che ho valorizzato nella prima form, solo che non me le riconosce.
Io le avevo inizializzate dentro alla classe della prima form.
Non so se devo inizializzarle da qualche altra parte o devo passarle alla seconda form quando la creo.

Grazie.
FedericoT è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 17:11   #6
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
Quote:
Originariamente inviato da FedericoT Guarda i messaggi
Dopo aver creato la form con il comando new nomeform().ShowDialog() dentro all'evento di click di un pulsante, dovrei passare alla nuova form delle variabili che ho valorizzato nella prima form, solo che non me le riconosce.
Io le avevo inizializzate dentro alla classe della prima form.
Non so se devo inizializzarle da qualche altra parte o devo passarle alla seconda form quando la creo.

Grazie.
se ho capito bene, basta che le passi nel costruttore della seconda form.
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 17:52   #7
FedericoT
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 7
Quote:
Originariamente inviato da avastreg Guarda i messaggi
se ho capito bene, basta che le passi nel costruttore della seconda form.
Scusa ma mi potresti fare un esempio perchè non riesco a capire come fare.
Ho provato in questo modo:
Nella form1 nell'evento di click del pulsante scrivo
new form2().ShowDialog(variabile1,variabile2,variabile3,.....);
Mentre nella form2 scrivo
public form2(variabile1,variabile2,variabile3,...)
{
InitializeComponent();
}

Dove sbaglio?
Grazie
FedericoT è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 18:48   #8
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
Quote:
Originariamente inviato da FedericoT Guarda i messaggi
Scusa ma mi potresti fare un esempio perchè non riesco a capire come fare.
Ho provato in questo modo:
Nella form1 nell'evento di click del pulsante scrivo
new form2().ShowDialog(variabile1,variabile2,variabile3,.....);
Mentre nella form2 scrivo
public form2(variabile1,variabile2,variabile3,...)
{
InitializeComponent();
}

Dove sbaglio?
Grazie
quasi, pero' non devi passarle alla ShowDialog(), che è semplicemente un metodo, ma al costruttore del form2.

Quindi, a livello di codice, diventa cosi:
Codice:
new form2(variabile1,variabile2,variabile3,.....).ShowDialog();
il new serve appunto a richiamare il costruttore dell'oggetto, che è quello che hai scritto tu in modo corretto:

Codice:
public form2(variabile1,variabile2,variabile3,...)
{
      InitializeComponent();
}
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 19:07   #9
FedericoT
Junior Member
 
Iscritto dal: Aug 2008
Messaggi: 7
Quote:
Originariamente inviato da avastreg Guarda i messaggi
quasi, pero' non devi passarle alla ShowDialog(), che è semplicemente un metodo, ma al costruttore del form2.

Quindi, a livello di codice, diventa cosi:
Codice:
new form2(variabile1,variabile2,variabile3,.....).ShowDialog();
il new serve appunto a richiamare il costruttore dell'oggetto, che è quello che hai scritto tu in modo corretto:

Codice:
public form2(variabile1,variabile2,variabile3,...)
{
      InitializeComponent();
}
Ok ho fatto come mi hai consigliato ed in effetti le variabili me le riconosce, ma solo all'interno del metodo costruttore della form2.
Ora come faccio a farmele riconoscere in tutta la form?
Devo dichiarare una nuova variabile nella classe della form2 ed estrarmi la variabile dal metodo costruttore?
Se si qual'è la sintassi?
Grazie

Ultima modifica di FedericoT : 13-08-2008 alle 19:20.
FedericoT è offline   Rispondi citando il messaggio o parte di esso
Old 13-08-2008, 19:23   #10
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
dichiarale al di fuori del costruttore (ma sempre all'interno della classe).

Codice:
public class someClass {

private int someVar1;
private List<string> someVar2;
    
    public someClass ( int someVar1, List<string>  someVar2) {
    this.someVar1 = someVar1; //assegno la someVar1 (passata) alla proprietà someVar1 di questo oggetto
    this.someVar2 = someVar2;
}
someVar1 e someVar2 dopo le puoi usare anche fuori dal costruttore.
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 11:44   #11
muntagna76
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 8
button_click

Cia, non sò se sia la discussione giusta..cmq ci provo.
Sto realizzando un semplice programma in c# ho già creato il database e tutte le varie cose(tabelle relazioni ecc..)
Ho inserito le form, 1 principale nella quale metto i pulsanti per aprire le altre form(già disegnate)
clicco sul button (a cui ho già dato nome e label) il codice per aprire una form
è nel mio caso

Ordini.showdialog() domanda?

la form ordini è stata creata ed i nomi coincidono dove sbaglio? sò che è una domanda stupida ma sono fermi in ste xxxxx!!
grazie per la collaborazione

compilando mi dà l'errore:

Errore 2 Occorre un riferimento a un oggetto per la proprietà, il metodo o il campo non statico 'System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window)' C:\Documents and Settings\Davide\Documenti\Visual Studio 2008\Projects\ordini clienti\ordini clienti\Principale.cs 26 13 ordini clienti

Ultima modifica di muntagna76 : 20-08-2008 alle 11:48. Motivo: integrazione errore
muntagna76 è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 11:56   #12
avastreg
Senior Member
 
L'Avatar di avastreg
 
Iscritto dal: Sep 2007
Messaggi: 316
Quote:
Originariamente inviato da muntagna76 Guarda i messaggi
Ordini.showdialog() domanda?
un po' criptico, provo a vedere se riesco ad aiutarti

non Ordini.showDialog();

poichè Ordini non è un form statico.

Cliccando sul bottone tu desideri creare quel form e aprirlo, perciò lo devi instanziare (all'interno dell'evento click del bottone).

Quindi, le alternative (due delle migliaia) sono:

Codice:
new Ordini().showDialog();
oppure

Codice:
Ordini tuavariabileordini = new Ordini();

tuavariabileordini.showDialog();
se ti serve gestisterlo è meglio l'ultima, se è una botta e via è meglio la prima.
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2008, 12:05   #13
muntagna76
Junior Member
 
Iscritto dal: Jul 2008
Messaggi: 8
Grazie ci provo e poi ti faccio sapere..
muntagna76 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
BioWare conferma: il nuovo Mass Effect &...
5 robot aspirapolvere di fascia alta in ...
Xiaomi Redmi Note 14 5G a 179€ è ...
Veri affari con gli sconti de 15% Amazon...
Tutti gli iPhone 16 128GB a 699€, 16e a ...
Take-Two ammette: vendite di Borderlands...
Tutti i Macbook Air e Pro con chip M4 ch...
GeForce RTX 50 SUPER: non cancellate, ma...
Warner Bros. riporterà al cinema ...
Hai usato il 'Pezzotto'? Ora anche la Se...
TeraFab: Musk vuole costruire la fabbric...
Lo compri una volta, lo giochi dove vuoi...
Qiantinuum annuncia Helios, "il com...
Samsung Galaxy S26 Ultra: una sola novit...
Google prepara Gemini 3 Pro e Nano Banan...
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: 09:59.


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