AW: [CSharp.net] Benutzersteuerelement

Christoph Wille csharp.net at glengamoi.com
Tue, 04 May 2004 08:39:58 +0200


Aha, so ist das gedacht. Aber bitteschön warum serialisierst du den Form=
 
und nicht ein Objekt das die Daten repräsentiert???

Chris

At 08:31 AM 5/4/2004, you wrote:
>Moin Chris,
>
> >
> > Serialisierung eines Windows Forms? Was bitteschön hast Du genau vor?
> >
>
>ich habe ein Benutzersteuerelement:
>
>public class myTextBox : System.Windows.Forms.UserControl
>         {
>         private System.Windows.Forms.TextBox textBox1;
>         private System.Windows.Forms.Label label1;
>   ...
>
>      public string  LabelControlText  // LabelText
>         {
>             get
>             {
>                 return this.label1.Text;
>             }
>             set
>             {
>                 this.label1.Text = value;
>             }
>         }
>
>...
>
>      public override string Text  // damit mein neues Control eine
>Text-Eigenschaft hat
>         {
>             get
>             {
>                 return this.textBox1.Text;
>             }
>             set
>             {
>                 this.textBox1.Text = value;
>             }
>         }
>
>         protected override void OnPaint(PaintEventArgs e)
>         {
>             base.Text = this.Text;
>             base.OnPaint (e);
>         }
>
>Dieses Control ziehe ich mir auf meine Form.
>Die jetzige Form hat also 15 x dieses Control, jeweils mit
>unterschiedlichen Bezeichnungen.
>
>=DCber die onClick-Methode werden (wenn es denn klappt) die Werte
>serialisiert.
>
>                 // *********** Binary Serialisation **************
>             try
>             {
>                 Stream stream  = new
>FileStream(this._binaryFirma,FileMode.Create);
>                 BinaryFormatter binary = new BinaryFormatter();
>
>                 binary.Serialize(stream,this.fa);  // fa ist die Instanz
>der Klasse Firma, die serialisiert werden soll
>                 stream.Close();
>             }
>             catch(Exception ex)
>             {
>                 MessageBox.Show("Binary - Serialisierung ist
>fehlgeschlagen \n" + ex.Message);
>             }
>             // ***********************************************
>
>Wenn ich statt des oben beschriebenen UserControl eine einfache TextBox
>nehme, dann geht es.
>Also habe ich den Verdacht, dass irgendwo auf die Text-Eigenschaft des
>USerControls zugegriffen wird,
>diese jedoch nicht den Wert der TextBox im UserControl hat. Damit
>scheitert die Serialisierung.
>
>Wie kann ich das lösen?
>
>Ich hoffe, dass es halbwegs verständlich war.
>
>Gruß
>
>Rene