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#] Disabilitare menu Form MDI da Form Figlio.
lunedì 05 febbraio 2007 - 23.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Technoboyz
Profilo
| Newbie
6
messaggi | Data Invio:
lun 5 feb 2007 - 23:32
Salve ragazzi, mi vergogno a postare questa domanda.
E' da qualche giorno che inizio a programmare in C# provenendo dal VB6.
Situazione:
Cliccando da menu apro un form figlio e disabilito il menu;
dalla chiusura del form figlio devo riabilitare il menu.
Come accedo al Menu del form Principale dal form figlio?
Bye
gigi90
Profilo
| Senior Member
285
messaggi | Data Invio:
mar 6 feb 2007 - 08:03
Prima di accedere al form figlio in quest'ultimo dovresti dichiarare una cosa del genere:
FormPadre frmPadre;//Dove il tipo FormPadre e la classe del tuo form padre.
quindi prima di aprire il form filgio dal form padre fai così:
frmfiglio.frmPadre=this;//Assegni un riferimento di form padre a frmFiglio
in questo modo puoi manipolare gli oggetti di frmPadre e quindi abilitare e diablitare tutti gli oggeti che desideri di formpadre riferendoti alla variabile frmPadre che hai creato in formfiglio.
Ciao
Technoboyz
Profilo
| Newbie
6
messaggi | Data Invio:
mar 6 feb 2007 - 18:04
Ha funzionato per un po', poi all'improvviso mi da questo warnning:
"Impossibile assegnare un valore diverso al campo 'Progetto1.FormFiglio.pFP'. Il valore predefinito è null."
Avevo inserito nella classe FormFiglio "FormPadre pFP;"
ma dandogli un valore null, non serve più a nulla.
Cavolo all'inizio ha funzionato. Cosa ho manomesso?
Ho anche scritto un nuovo progetto giusto con le due Form, ma ora da lo stesso errore!
Penso che ti sia confuso scrivendo:
"frmfiglio.frmPadre=this;//Assegni un riferimento di form padre a frmFiglio"
forse intendevi:
"frmfiglio.MdiParent=this;//Assegni un riferimento di form padre a frmFiglio"
VeNoMiS
Profilo
| Newbie
4
messaggi | Data Invio:
mer 7 feb 2007 - 12:17
Ciao io utilizzo questo metodo
private void Carica(Form ObjForm)
{
Cursor = System.Windows.Forms.Cursors.WaitCursor;
try
{
if (this.ActiveMdiChild != null)
this.ActiveMdiChild.Close();
ObjForm.MdiParent = this;
ObjForm.Show();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
Cursor = System.Windows.Forms.Cursors.Default;
}
}
nel caso ci sia già una finestra figlio attiva la chiude
Technoboyz
Profilo
| Newbie
6
messaggi | Data Invio:
mer 7 feb 2007 - 14:44
Il mio problema, non è quello di aprire una Form Figlio, ma quella di gestire da qui il menustrip della Form Padre.
Cioè devo disabilitare il menu che chiama la Form Figlio (qusto lo faccio direttamente dall'evento click del menu)
e riattivare il menu alla chiusura della Form Figlio (intendevo usare l'evento di chiusura);
ma ovviamente da li la Form Padre non è visibile.
Bye
VeNoMiS
Profilo
| Newbie
4
messaggi | Data Invio:
sab 10 feb 2007 - 01:47
capisco ma se modifichi la proprietà dialogresult sul bottone di uscita della form
e cambi la funzione di carica del form in maniera che ti restituisca un bool (true=form chiuso)
ti basta un semplice:
if(carica(child))
'istruzioni
Oppure invece di usare una finestra MDI usi uno showdialog il quale blocca l'esecuzione del frm chiamante ed esegue SOLAMENTE quello chiamato, una volta chiuso il form figlio, procede con il padre.
Technoboyz
Profilo
| Newbie
6
messaggi | Data Invio:
lun 12 feb 2007 - 01:33
Non mi piace come soluzione, anche perchè se non erro, in questo modo disabiliti anche la possibilità di abbassare la finestra padre o spostarla sul desktop.
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 !