Re: Generische Klasse und CType




Hallo Tomasz,

Tomasz Poplawski schrieb:
In meiner Anwendung (Windows.Forms) muss ich je nach Bedingung bestimmte Controls ausblenden.

Wenn da nicht was ganz spezielles hinzukommt wäre die Klasse
nicht unbedingt erforderlich.
Zugriff auf die Controls-Auflistung erhälst Du auch mit der Form-Basisklasse.
Und jedes Control unterstützt die Visible Eigenschaft.

> Damit erhalte ich Zugriff auf alle Controls und kann diese dann Ausblenden.
>

Und um einen Satz von Steuerelementen auszublenden, könntest Du entweder
eine Liste von Control Steuerelementen oder eine Liste der Steuerelement-Namen
übergeben und die Elemente durch Setzen von Visible = False ausblenden.


Um die Ausgangsfrage noch zu beantworten:

Aber:

An dieser Stelle Me._frm = CType(frm, T)
erhalte ich eine Fehlermeldung:

Dafür benötigst Du einen Type Constraint für das Of T.
Wobei Du den Konstruktor gleich richtig schreiben solltest.
Da der Typ ja durch T festgelegt ist, kannst Du ihn auch
im Konstruktor verwenden.
Den allgemeinen solltest Du weglassen, der bringt keinen
Nutzen, ist eher gefährlich.

///
' T muss vom Type Form abgeleitet sein:
Friend Class FormForHandling(Of T As {Form})
Private _frm As T

' Dieser Konstruktor ist besser...
Public Sub New(ByVal frm As T)
Me._frm = frm
End Sub

' ... ist überflüssig und nur zur Illustration
Public Sub New(ByVal frm As Form)
Me._frm = DirectCast(frm, T)
End Sub

Friend ReadOnly Property Form() As T
Get
Return Me._frm
End Get
End Property
End Class
\\\

Gruß Elmar

.



Relevant Pages

  • Re: Literal im Codebehind vorbelegen
    ... Konstruktor aufgerufen. ... noch auf untergeordnete Controls zugegriffen ... Das sind nun mal die Events bzw. virtuelle Methoden um auf den Seitenaufbau ... kompletten Ablauf des Ladens und Darstellens einer Seite eingehen? ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: A97: unplausible Fehlermeldung Laufzeitfehler 2450 "...kann das Formular nicht finden..."
    ... auch wenn es bei Steuerelementen und ... UFoControl!Steuerelement funktioniert nur, weil Controls die ... Standardeigenschaft der SubForm-Klasse ist. ... Auszug aus Objekt-Katalog von AcXP der SubForm-Klasse: ...
    (microsoft.public.de.access)
  • Re: Controls selbst zeichnen: Erfahrungen?
    ... Und dann muss natürlich noch das Alpha-Blending berechnet werden. ... Gibt es für das Ein- Ausblenden evtl. ... Ich würde das auch nicht mit einem Timer ... Controls, das zweite mit ausgeblendeten. ...
    (de.comp.lang.delphi.misc)
  • Re: Exception bei Programm unload
    ... die Code und Controls von vbAccelerator beinhalten, ... Ich habe vor kurzem zu den vbAccelerator Steuerelementen, ... exzessiven Hooking und Subclassing, ...
    (microsoft.public.de.vb)
  • Re: LoadControl (UserControl )
    ... Holger Kreissl schrieb: ... eigenen passenden Konstruktor zu schreiben? ... NULL sondern die Controls die in der dazugehörigen ASPX Seite enthalten sind. ... da ja die Controls aus der ASPX erst durch das Framework initialisiert werden... ...
    (microsoft.public.de.german.entwickler.dotnet.vb)