AW: [CSharp.net] Benutzersteuerelement
Rene
csharp.net at glengamoi.com
Tue, 4 May 2004 08:31:59 +0200
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