dunque, qualunque form sia presente nel form mdi-padre, vorrei cambiare da
menu il backcolor di tutti i pulsanti presenti nel toolstrip di quel form
i toolstrips sono sempre inseriti in un panel, quindi per prima cosa cerco i
controlli presenti nel form attivo, poi trovato il panel cerco tra i
controlli presenti il toolstrip e poi nel tool strip i suoi buttons, che
presumo siano a loro volta controlli:
For Each c As Control In Me.ActiveMdiChild.Controls
if TypeOf c Is Panel Then
For Each b As Control In c.Controls
If TypeOf b Is ToolStrip Then
For Each f As ToolStripButton In b.Controls
f.BackColor = My.Settings.ColoreTasti
Next
End If
Next
End If
Next
Next
la routine non dà errore......... peccato che non funzioni :(
ho provato con tutti i tipi di render mode, ma niente
a naso, ma MOLTO a naso:
Non e' che cliccando il menu' nell' MDI padre togli il
focus all' MDI figlio e nessuno quindi risulta "active" ?
leggendo su MSDN fa' la questa distinzione nei remarks:
"If the currently active form is not an MDI child form, you can use the
ActiveForm property to obtain a reference to it."
<http://msdn.microsoft.com/en-us/library/system.windows.forms.form.activemdichild.aspx>
no, la routine viene regolarmente letta
infatti, prima di inserire il ToolStrip c' era una serie di Buttons, e il
codice
If TypeOf b Is Button Then f.BackColor = My.Settings.ColoreTasti
funzionava benissimo