F10 e Menu MDI

lunedì 12 settembre 2005 - 21.04

astroman Profilo | Junior Member

Ho un applicativo formato da un form principale e tante child form...
Il problema sorge nel momento in cui all'interno di un form e al keydown di un texbox vado ad associare determinati eventi in base alla pressione di svariati tasti funzione: il problema principale sussiste nel momento in cui vado a premere il tasto F10 che, non ne capisco il motivo, va a dare il focus al menu FILE (creato da me) classico del form MDI!
Ho letto che è un tasto funzione di windows...ma si può disattivarlo?cioè mi perde totalmente il focus dal textbox e logicamente in questo modo l'applicativo non funziona correttamente.
Stessa cosa dicasi per la pressione dei tasti SHIFT SX + F11 che mi fà visualizzare un menu contestuale...di windows!

Mi sapete aiutare?
Ho cercato disperatamente sul web e su libri e sull'MSDN ma non trovo nulla...

freeteo Profilo | Guru

ciao,
al tempo avevo fatto qualcosa di questo tipo facendo l'override del ProcessDialogKey della form,ovvero quando viene premuto [invio] o [tab] è lo stesso, scatena sempre il [tab]

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
If (keyData = Keys.Enter) Then
Return MyBase.ProcessDialogKey(Keys.Tab)
ElseIf (keyData = Keys.Tab) Then
Return MyBase.ProcessDialogKey(Keys.Tab)
Else
Return MyBase.ProcessDialogKey(keyData)
End If
End Function

probabilmente puoi farlo anche tu adattandolo alla tua esigenza...e ps: l'ultimo default dice che altirmenti lo lascia processare al sistema...
ciao



Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo

astroman Profilo | Junior Member

Ah m'ero dimenticato di postare la soluzione che avevo trovato...ben più facile...
Bastava mettere e.Handled=true e il gioco è fatto!:D

freeteo Profilo | Guru

ottimo allora :-)
ciao

Matteo Raumer
.net addicted :-)
http://blogs.dotnethell.it/freeteo
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5