vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: spike24
Datum: 04.12.07 08:29

ah, struct habe ich überlesen
wäre bei MyStruct naheliegend gewesen

eventuell fällt mir nur mehr eine unsaubere lösung ein
eine Helperklasse (funktion) schreiben, der man die neu angelegte struct übergibt welche dann aus XML (o.ä.) befüllt wird (hier könnte auch das schlüsselwort ByRef helfen, weis nicht wie ein Struct bei übergabe an eine funktion im Speicher behandelt wird)
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: Snof
Datum: 29.11.07 00:36

Hallo

Ich bastel grade an einem eigenen Controll für eine Anwendung.
Nun möchte ich dem Nutzer die Möglichkeit geben verschiedene Einstellungen verändern zu können (z.B. Farben oder Größen).

Ich hatte zuerst die Idee es über eine Struktur zu kapseln. Dann könnte man dem nutzer zb übers PropertyGrid die Daten ändern lassen, oder ähnliches.
Dabei bin ich jedoch auf ein Problem gestoßen: Ich kann keine Standard-Werte festlegen (oder besser, ich weiß nicht wie ) . Eine direkte Wertzuweisung bei der Deklaration geht nur mit statischen Variabel (Private Shared ...) und einen parameterloser Konstruktor geht auch nicht.

Wenn jemand eine gute Idde hat, wie ich ein paar Standardwerte definieren kann, würde ich mich sehr freuen. In jedem Fall sollten die Daten gekapselt werden.

Vielen Dank im Voraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: Moderatorralf_oop (Moderator)
Datum: 29.11.07 19:13

Das geht über das DefaultValueAttribute aus dem Namespace System.ComponentModel:

<DefaultValue("Test")> _
Public Property Bla() As String
' ....
End Property

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: Snof
Datum: 30.11.07 01:43

Hallo

Danke für den Tipp, aber das Atribut funktioniert nicht, zumindestens nich so wie ich möchte.
Es würde mir zwar im PropertyGrid den richtigen Wert als Standard-Wert anzeigen, allerding wird der Wert beim Anlegen einer neuen Instanz nich automatisch gesetzt.

Ich hab mal ein wenig in der MSDN gestöbert und bin auf diesen Absatz gestoßen:
Zitat:

Der Wert von nicht freigegebenen Datenmembern einer Struktur kann nicht in der Deklaration initialisiert werden. Sie müssen einen solchen Datenmember entweder mit einem parametrisierten Konstruktor auf Strukturebene initialisieren oder dem Member nach dem Erstellen einer Instanz der Struktur einen Wert zuweisen.

Bedeutet für mich: Entwerder Klasse, oder Konstruktor mit Parameter, oder "von Hand" die Werte setzen (was den Sinn der ganzen Sache in Frage stellt). Wollte eigentlich alles 3 nicht.

Das Atribut nutz ich trotzdem
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: spike24
Datum: 30.11.07 11:52

hmm....
das klingt für mich irgendwie nach XML oder Ressources
d.h. die ganzen notwendigen einstellungen in die entsprechende datei auslagern und im New der Klasse laden.
oder einfach fixe zuweisungen im New()

Public Sub New()
    m_Variable = Wert
end Sub
 
PRivate m_Variable as Typ
Public Property Variable as Typ
....
End Property
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: Snof
Datum: 30.11.07 18:47

Es geht mir ja nich ums Laden und Speichern. Ich wollte ja meine Optionen in einer Struktur kapseln, die bei s = New MyStruc() nicht überall 0 als Startwert hat. Das geht aber leider nicht.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: spike24
Datum: 03.12.07 08:14

unter New MyStruc() wird ja Code ausgeführt, da kannst Du ja reinschreiben was Du willst
Public Class MyStruc
    Public Sub New()
        Varible = Wert
    End Sub
End Class
oder habe ich da was falsch verstanden?
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Optionen für eigenes Control - gute Umsetzung gesucht  
Autor: Snof
Datum: 03.12.07 14:18

Ja, leicht.
Ein Parameterloser Konstruktor (also Sub New()) muss bei Strukturen als Shared deklariert sein. Das bedeutet, ich kann inerhalb der New[/]-Methode auch nur auf Variabeln zugreifen, die ebenfalls als Shared deklariert sind.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel