Hallo Forum,
ich habe da eine Frage zu eigenen Controls. Ich habe meine eigene TextBox erstellt, die einfach von der Standard TextBox erbt.
Ist es jetzt irgendwie möglich, dass ich diese TextBox komfortabel aus dem Designer heraus verwenden kann?
Ich habs schon mit UserControls versucht, was auch soweit klappt. Allerdings habe ich dann zwei Probleme:
Mach ich da was falsch oder wie kann man das am besten lösen?
Danke und Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hmm, ein bissle weitergekommen bin ich glaube ich. Ich hab mir jetzt über den Komponenten-Designer eine Komponente gebaut und in diesem Komponentencontainer eine TextBox eingefügt. Allerdings scheitert es jetzt an dem Benutzen meiner TextBox. Wie kriege ich das hin?
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
So, als gelernter Alleinunterhalter schreibe ich mir noch einen Beitrag 🙂. Das mit meinen eigenen Controls und dem Benutzer in der ToolBox funktionieren gut. Jetzt habe ich aber noch eine Frage 🙂: Wie kann ich eigene Properties, die ich in den Controls definiert habe, in den Property-Designer bekomme (wenn das überhaupt möglich ist).
Danke und Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Original von Fabian
Wie kann ich eigene Properties, die ich in den Controls definiert habe, in den Property-Designer bekomme (wenn das überhaupt möglich ist).
public int MeinProperty
{
get { ... }
set { ... }
}
So ungefähr? 🙂
Hallo cYaONE,
so definiert habe ich die Properties schon. Ich sehe sie im Property-Designer nur leider nicht. Ich würde sie gerne grafisch einstellen können, weil das die Verwendung erheblich erleichern würde.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Gibt da so eine ganze Reihe von Attributen, die man verwenden kann. Hier ein paar Beispiele. Was du meinst, ist das erste.
using System.ComponentModel;
///...
[Browsable(true),
Description("Beschreibungstext"),
DefaultValue(0)]
public int MeinProperty
{
...
}
([bb]|[^b]{2})
Nabend NoOneKnows,
ich danke Dir vielmals. Genau das habe ich gesucht. Jetzt klappts auch mit dem Property-Designer.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Nabend,
hmm. Jetzt habe ich wieder das gleiche Problem. Ich habe jetzt den Namen eines Properties geändert und schon wird es mir im Designer nicht mehr angezeigt. Wie kann ich es da wieder hinbekommen? Alles was mir eingefallen ist, habe ich schon ausprobiert (neu anlegen, neu kompilieren sowieso etc..). Hoffe jemand kann helfen.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Vielleicht musst du das Control erst zur Toolbox hinzufügen?
@Fabian:
Hab grad dasselbe Problem wie du (glaub ich jedenfalls). Wo gibts denn son Komponentencontainer? Wenn ich da Komponenten reinziehe, schaun die immer so komisch aus, ich komm nich draus was ich da machen muss...
Hi,
leider nicht. Das hatte ich schon ausprobiert. Habe es aber gerade noch mal versucht. Habe das Control noch mal zur ToolBox hinzugefügt und das bestehende Element in der Form mit dem neu hinzugefügten ersetzt. Auch das hat nichts geholfen. Das Property ist einfach weg 😦.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Hallo Krambo,
per Komponentenkontainer habe ich es nicht gemacht. Ich hab noch nicht ganz verstanden, wie ich die Komponenten dann benutze (sie sind ja in dem Container und nicht direkt ansprechbar. Wäre für eine Erklärung in der Hinsicht auch noch dankbar).
Ich habs mit
public class CtrlTextBox : System.Windows.Forms.TextBox {
gemacht.
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Wo gibts denn den Container? Ohne den geht nämlich nicht wirklich was hab ich so ne Vorahnung...hmm gar nit so einfach das Zeugs 🙂
Ach da stehts aber mit grafisch hat das ganze dann auch nix mehr zu tun
http://msdn.microsoft.com/library/deu/default.asp?url=/library/deu/vbcon/html/vbtskcreatingwfccontainer.asp
Shit jetzt weiss ich auch warum. Ich darf keine Komponentenklasse nehmen, sondern ein benutzerdefiniertes Steuerelement, dann gehts 🙂
Hab grad noch ne Frage dazu:
Wenn ich mehrere Komponenten beim Benutzersteuerelement habe, wie kann ich dann von ner einzelnen Kompo das OnPaint überschreiben?
Ginge ja normal so:
protected override OnPaint(usw...)
{
// Code
}
Hmm. Wenn ich ein benutzerdefiniertes Steuerelement erstelle, dann habe ich eine Klasse, die von System.Windows.Forms.Control erbt. Da kann ich dann über den Designer eine TextBox adden. Wie kann ich diese TextBox denn benutzen? Wenn ich das Control in eine Form einfüge, fügt er nur das Control ein, nicht die TextBox.
Kannst Du mir sagen, wie ich die TextBox benutzen kann?
Gruß,
Fabian
"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)
Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…
Blog: www.fabiandeitelhoff.de
Weiss ich auch nicht. Ich bin momentan nur soweit, dass ich mal n paar Controls reingeschoben habe. Nur muss ich bei manchen das OnPaint überschreiben und weiss da nicht wie ich gezielt auf die Controls zugreifen kann...