Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Wie SteuerElemente eines UserControls im Designer bearbeiten?
Bionic
myCSharp.de - Member



Dabei seit:
Beiträge: 214

Themenstarter:

Wie SteuerElemente eines UserControls im Designer bearbeiten?

beantworten | zitieren | melden

Hi zusammen,

folgende Situation: Ich hab ein UserControl, auf dem zwei Panels liegen. Nun möchte ich die Text-Eigenschaft der Panel im Designer bearbeiten können. Sprich, ich zieh das UserControl auf irgendeine Form und wenn ich es ausgewählt habe, möchte ich gerne eine Eigenschaft im Eigenschaftsfenster haben, wo ich die Text-Eigenschaft der beiden Panel unabhängig von einander ändern kann.

Ich hab hier im Forum versucht was zu finden, weiß aber nicht genau nach was ich suchen muss. Ein Stichwort würde mich hier schon weiterhelfen. Habe allerdings auch nichts gegen etwas Ausführliches :-)

//-- EDIT
Die Lösung ist mehr als simpel: Ich muss die Sachen, in meinem Fall die Text-Eigenschaft der zwei Panels als öffentliches Property im UserControl deklarieren.
Bsp:

public string Headline
{
    get { return panelHeadline.Text; }
    set { panelHeadline.Text = value; }
}

Gibt es sonst noch andere Sachen, die ich beachten müsste?

Bin, wie immer für jeden Hinweis dankbar.
.:: SilvrGame - Browsergame Development with Silverlight
.:: Bionic's blOg
private Nachricht | Beiträge des Benutzers
Cheshire Cat
myCSharp.de - Member

Avatar #avatar-2189.gif


Dabei seit:
Beiträge: 27
Herkunft: Hamburg

beantworten | zitieren | melden

Hallo Bionic,

soweit ich das sehe müsstest du im UserControl zwei Eigenschaften definieren und die Panel.Text Eigenschaft im Endeffekt weiterleiten :


public String Panel1Text
{
   get
   {
      return panel1.Text;
   }

   set
   {
      panel1.Text = value;
   }
}

Nun sollte auch in der Visuellen Oberfläche die Eigenschaft "Panel1Text" verfügbar sein und den den Text von Panel1 setzen.

Ich bin mir nicht sicher ob dies die beste Methode ist, aber es funktioniert.


Edit:

Bist schneller auf die lösung gekommen ^^
"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)
private Nachricht | Beiträge des Benutzers
Floste
myCSharp.de - Member

Avatar #avatar-2376.jpg


Dabei seit:
Beiträge: 1.130
Herkunft: Norddeutschland

beantworten | zitieren | melden

Man kann auch eine Eigenschaft definieren:

[Browsable(true),//wird angezeigt im designer=true
Category("wasauchimmer"),//unter welcher "Überschrift" das erscheint
Description("Das ist das Panel NR.1."),//Beschreibung
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]//wichtig, da ja nichts zugewiesen wird, sondern nur die untereigenschaften bearbeitet werden.
public Panel Panel1
{
   get
   {
      return panel1;
   }
}
Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!
private Nachricht | Beiträge des Benutzers
Bionic
myCSharp.de - Member



Dabei seit:
Beiträge: 214

Themenstarter:

beantworten | zitieren | melden

Danke dir Cheshire Cat ;-)

Dir auch floste, das prezisiert das Ganze ein wenig ;-)
.:: SilvrGame - Browsergame Development with Silverlight
.:: Bionic's blOg
private Nachricht | Beiträge des Benutzers