Textfelder für Bearbeitung und Fokus sperren

15/09/2008 - 15:21 von Peter Schmidt | Report spam
Hallo zusammen,

ist es möglich, dass ich Textfelder für die Bearbeitung sperre
und GLEICHZEITIG verhindere, dass Sie den Fokus bekommen
können??? Das Textfeld soll bei LOCKED und ENABLED noch
genauso aussehen wie zuvor, also keine Eingrauung...

Vielen Dank

Peter
 

Lesen sie die antworten

#1 Kerem Gümrükcü
15/09/2008 - 16:10 | Warnen spam
Hallo Peter,

ist es möglich, dass ich Textfelder für die Bearbeitung sperre
und GLEICHZEITIG verhindere, dass Sie den Fokus bekommen
können???



Ja, das geht, hier habe ich Dir mal eine Klasse geschrieben,
vergesse nicht die Namespaces:


Imports System.Windows.Forms
Imports System.Runtime.InteropServices

zu importieren:

Public Class NoFocusReadOnlyTextBoxClass
Inherits TextBox
<DllImport("User32.dll")> _
Private Shared Function SetFocus(ByVal hWnd As IntPtr) As IntPtr
End Function

<DllImport("User32.dll")> _
Private Shared Function HideCaret(ByVal hWnd As System.IntPtr) As
Boolean
End Function

Protected Overloads Overrides Sub OnGotFocus(ByVal e As EventArgs)
HideCaret(Me.Handle)
MyBase.OnGotFocus(e)
End Sub

Protected Overloads Overrides Sub OnVisibleChanged(ByVal e As EventArgs)
MyBase.OnVisibleChanged(e)
End Sub

Protected Overloads Overrides Sub WndProc(ByRef m As Message)
If m.Msg = 7 Then
'WM_SETFOCUS
If m.WParam <> IntPtr.Zero Then
' set the focus back to the previous control
SetFocus(m.WParam)
End If

'do not focus
m.Result = New IntPtr(1)
End If

MyBase.WndProc(m)
End Sub

End Class


Jetzt hast Du eine Textbox, die zwar per Code beschrieben
werden kann, aber nicht vom Benutzer und das TextControl
ist auch nicht grau unterlegt, bzw. der Text,...gut was,..:-D

Wofür brauchst Du den so was,...?

Grüße

Kerem



Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.codeplex.com/restarts
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."

Ähnliche fragen