Windows.Forms Design-reihenfolge
-
Ich hab mir ein Control von der RichTextBox abgeleitet, das ein Feld SyntaxDefinitionCollection Definitions hat.
Wie/Wo Initialisiere ich das Feld, das ich mit dem Windows.Forms Designer die Werte festlegen kann
Wenn ich das
Definitions = new SyntaxDefinitionCollection();
in den Constructor schreibe, werden alle Werte aus dem Designer gelöscht, also wo soll ichs dann hinschreiben?
-
Der Formdesigner verwendet InitializeComponents....
-
syntaxDefiniton1.HighliterColor = System.Drawing.Color.Red; syntaxDefiniton1.HighliterOptions = System.Text.RegularExpressions.RegexOptions.Singleline; syntaxDefiniton1.HighliterPattern = "pille"; new ExtendedRE.SyntaxDefinitonCollection().Add(syntaxDefiniton1);
Liegt wohl am Component Designer, den muss ich wohl mit nem Attribut erst setzen
-
Wie schön das wie hier in der Rätselecke sind....
-
Das hat mir der Forms-Designer in die InitializeComponents-Methode reingeschrieben!
-
Wie oft geht auch in diesem Post nicht wirklich Dein Problem hervor. Es ist ja nicht mal klar ob das Problem überhaupt noch besteht. Wenn ja, welches es wirklich war und wie die Lösung dazu aussieht für alle mit eventuell gleichem Problem.
Du lieferst nicht mal ein Minimum an Informationen.
new ExtendedRE.SyntaxDefinitonCollection().Add(syntaxDefiniton1);
Definitions = new SyntaxDefinitionCollection();
Außer dem Typ wird hier überhaupt kein Zusammenhang ersichtlich. (Ich nehme nun an, das Du erfahren genug bist um nicht zu erwarten das Definitions nach dem new die Werte von syntaxDefinition1 hat.)
Registriere es bitte als Kritik, generell viel zu wenig Informationen zu liefern.
-
Also nochmal von vorne, da das Problem immernoch besteht! :
Es geht darum, wie der Windows-Forms-Designer die Elemente einer Liste, in diesem Fall eine SyntaxDefinitonCollection, speichert.In den Properties kann man die Collections mit einem anderen Fenster öffnen und da per Add/Remove die Members und ihre Properties setzten
Ich habe jetzt zum testen ein Paar SyntaxDefinitions in dem Fenster hinzugefügt und mich nachher gewundert, warum die SyntaxDefinitonCollection trotzdem leer war.
Jetzt habe ich gemerkt, das der Windows-Forms-Designer
ExtendedRE.SyntaxDefiniton syntaxDefiniton1 = new ExtendedRE.SyntaxDefiniton(); //... this.extendedRichEdit1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)| System.Windows.Forms.AnchorStyles.Left))); syntaxDefiniton1.HighliterColor = System.Drawing.Color.Red; syntaxDefiniton1.HighliterOptions = System.Text.RegularExpressions.RegexOptions.None; syntaxDefiniton1.HighliterPattern = "wurst"; new ExtendedRE.SyntaxDefinitonCollection().Add(syntaxDefiniton1); this.extendedRichEdit1.Font = new System.Drawing.Font("Courier New", 10F); this.extendedRichEdit1.Location = new System.Drawing.Point(12, 12); this.extendedRichEdit1.Name = "extendedRichEdit1"; this.extendedRichEdit1.Size = new System.Drawing.Size(268, 242); this.extendedRichEdit1.TabIndex = 0; this.extendedRichEdit1.Text = ""; this.extendedRichEdit1.TextChanged += new System.EventHandler(this.extendedRichEdit1_TextChanged);
geschrieben hat : Anstatt in die this.extendedRichEdit1.Definitions die syntaxDefiniton1 zu schreiben, erstellt er eine neue SyntaxDefinitonCollection, die aber nicht gespeichert wird!
Ich würde gerne wissen, wie man dem Designer beibringt, in die Property zu schreiben anstatt in eine neue Collection!!
Frag bitte nach wenn du noch Informationen brauchst anstatt wieder rumzumeckern!