Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
C# - Collegare due form
mercoledì 03 febbraio 2010 - 21.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
mer 3 feb 2010 - 21:45
Ho una form che contiene il bottone del classico gioco prendimi... in cui quando clicchi questo si sposta in coordinate casuali.
Con una form chimata "Opzioni", voglio poter cambiare l'immagine di sfondo del form 1. Sono riuscito a comandare i bottoni ok e annulla del form Opzioni:
Opzioni giocoN = new Opzioni();
DialogResult cmd = giocoN.ShowDialog();
if (cmd == DialogResult.OK)
{
//switch (Opzioni.sfondo)
//{
// case "Albero":
// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Albero;
// break;
// case "Panorama":
// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Panorama;
// break;
// case "Erba":
// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
// break;
// case "Cane":
// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Cane;
// break;
//}
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
btnClicca.Size = new Size(x, y);
}
il mio problema appunto stà nel poter associare al click di 4 bottoni nella form "Opzioni" il cambio dello sfondo nella prima form... come posso fare ??? Grazie in anticipo !!!!!!!!!!!!!!!
tonyexpo
Profilo
| Senior Member
229
messaggi | Data Invio:
gio 4 feb 2010 - 09:20
Ciao
>Ho una form che contiene il bottone del classico gioco prendimi...
>in cui quando clicchi questo si sposta in coordinate casuali.
>
Con una form chimata "Opzioni", voglio poter cambiare l'immagine
>di sfondo del form 1. Sono riuscito a comandare i bottoni ok
>e annulla del form Opzioni:
>
> Opzioni giocoN = new Opzioni();
> DialogResult cmd = giocoN.ShowDialog();
>
> if (cmd == DialogResult.OK)
> {
> //switch (Opzioni.sfondo)
> //{
> // case "Albero":
>// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Albero;
//se ho capito bene ti trovi nel Form1 quindi il tuo esempio è già corretto
this.BackgroundImage = Prendimi_2._5.Properties.Resources.Albero;
//altrimenti rispiegami che nn ho capito
> // break;
> // case "Panorama":
>// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Panorama;
> // break;
> // case "Erba":
>// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
> // break;
> // case "Cane":
>// BackgroundImage = global::Prendimi_2._5.Properties.Resources.Cane;
> // break;
> //}
>BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
> btnClicca.Size = new Size(x, y);
> }
>
>il mio problema appunto stà nel poter associare al click di 4
>bottoni nella form "Opzioni" il cambio dello sfondo nella prima
>form... come posso fare ??? Grazie in anticipo !!!!!!!!!!!!!!!
>
>
Antonio Esposito
MCTS, MCP
http://blogs.dotnethell.it/espositos
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
gio 4 feb 2010 - 14:44
Innanzitutto grazie... scusami se prima ho riassunto un po' troppo però avevo sbadatamente ricaricato la pagina non salvando il testo e quindi ho dovuto riscrivere tutto quando con un po' di fretta...
Passiamo al mio problema.... io ho un progetto con:
1) Form Windows chiamata "Gioco" (form principale)
2) Form Windows chiamata "Opzioni" (form secondaria)
Vorrei poter aprire la 2^ form al clic di un bottone sulla 1^... e fin qui tutto ok.... Vorrei però poter, cliccando su una radiobox della form "Opzioni" cambiare lo sfondo della prima.
Allego la foto della form così da rendere il tutto più semplice:
326x444
147Kb
Come puoi vedere ho aggiunto i pulsanti ok e annulla... il codice che prima ho postato l'ho inserito nella form 1 dopo il codice di apertura della form 2. Cioè:
// Apri Form
Opzioni giocoN = new Opzioni();
DialogResult cmd = giocoN.ShowDialog();
// Controllo se ho cliccato ok
if (cmd == DialogResult.OK)
{
// Così al click di 'ok' da alla form1 uno un'altro sfondo però io vorrei poter dare lo sfondo in base a ciò che l'utente ha scelto....
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
}
Se quindi l'utente ha cliccato su ok vorrei associare alla form 1 uno sfondo in base alla radiobox selezionata....
Il problema è quindi come far "comunicare" delle variabili fra le 2 form... cioè potrei creare una variabile stringa che mi vale "Erba" al click dell'utente nella radiobox e, quindi, al click di ok, associare alla form 1 lo sfondo Erba..... ma le variabili dichiarate nel primo form non compaiono giustamente nella 2^.....
Scusami se nn sono molto chiaro... Ho iniziato a studiare c# da questo anno a scuola e solo da poco ci siamo interessati alle Windows Form....
tonyexpo
Profilo
| Senior Member
229
messaggi | Data Invio:
gio 4 feb 2010 - 15:16
Nessun problema ;)
> // Apri Form
> Opzioni giocoN = new Opzioni();
> DialogResult cmd = giocoN.ShowDialog();
>
> // Controllo se ho cliccato ok
> if (cmd == DialogResult.OK)
> {
allora: qui puoi procedere in due modi, ma sempre cambiando il form Opzioni
1) cambi il .Modifiers dei radioButton passando da private a internal o public, così da poter fare:
if (giocoN.Option1.Cheked)
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
elseif .........
2) esponi una proprietà sul form Opzioni così da farti esporre una enum (o al limite un numero o un codice) per discriminare la selezione:
if (giocoN.GetSelected==1)
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
aggiornaci presto
ciao
Antonio Esposito
MCTS, MCP
http://blogs.dotnethell.it/espositos
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
gio 4 feb 2010 - 20:33
Scusami se ho fatto tardi ma ho avuto molto da fare...
ho seguito i tuoi consigli e....
Funziona
!!!! non credevo fosse così semplice... mi è bastato cambiare la proprietà .Modifiers e associare al bottone ok questo codice...
if (cmd == DialogResult.OK)
{
if (giocoN.rbtPanorama.Checked)
{
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Panorama;
}
if (giocoN.rbtErba.Checked)
{
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Erba;
}
if (giocoN.rbtCane.Checked)
{
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Cane;
}
if (giocoN.rdbAlbero.Checked)
{
BackgroundImage = global::Prendimi_2._5.Properties.Resources.Albero;
}
}
Così posso cambiare lo sfondo... Grazie tantissime !!!!!
Ora proverò ad associare questo metodo a due textbox per regolare la grandezza di un bottone....
Speriamo funzioni !!!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !