Serialization Deserialization Control property

Serialization / DeSerialization Question

Experts,

Why can`t I serialize, Something like this? What's the work around?

public string TBoxStr
{
     get
          {
              return textbox1.text;
          }
      set
         {
            textbox1.text = value;
         }
}

I tried something like this too, and it doesn`t work.

private string tboxstr;
public string TBoxStr
{
     get
          {
             tboxstr = textbox1.text;
              return tboxstr;
          }
      set
         {
            tboxstr = value
            textbox1.text = tboxstr;
         }
}

I have no problem Serializing and Deserializing something like this -
private string property;
public string Property
{
     get
          {
              return property;
          }
      set
         {
            property = value
         }
}

I was hoping I could Serialize TBoxStr. What am I missing here?
San24Asked:
Who is Participating?
 
vusovConnect With a Mentor Commented:
Please review attachments, it's worked fine for me. I found you missed InitializeComponent(); in the UC(SerializationInfo info, StreamingContext ctxt) constructor.
WindowsFormsApplication2.zip
0
 
tikusbalapConnect With a Mentor Commented:
Try:

private string tboxstr;
public string TBoxStr
{
     get { return textbox1.Text; }
     set {  tboxstr = value; }
}

Set the tboxstr to your textbox after Form's load event.

private void form_load(object sender, EventArgs e)
{
    textbox1.Text = tboxstr;
}


0
 
vusovCommented:
Do you try to serialize your Form? Actually it cannot be serialized because System.ComponentModel.Component.Site is not serializable. I'v tried to create some other class with TextBox and it serialized fine. Please review my sample, is it exactly what you mean?
WindowsFormsApplication2.zip
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
San24Author Commented:
For some reason I cant seem to upload the compressed project here. I`m getting a SUO file not allowed message. Anyways, here is the main form and the User Cntrl. I`m trying to Serialize and DeSerialize the textbox field in the User Control UC. I can Serialize without any problems, I can look at the value in the file but I run into problems DeSerializing it.

Any help to get me out of this would be greatly appreciated!
Form1.cs
UC.cs
0
 
Gururaj BadamConnect With a Mentor Commented:
I suggest you to create an intermediate class which will only be used to serialize/deserialize.

Pass an instance of this to Control, and pass out at the time of serializing.
0
 
San24Author Commented:
@Novice_Novie - The problem is not Serializing, the problem I`m having is the property getting the Text Box value. One way to do is using the Validating or the Leave events and then initializing the property. Not the most efficient way to do it since I have multiple controls on the User Control.
0
 
San24Author Commented:
@vusov : You Sir are the man! I didn`t miss the InitializeComponent(), I just didn`t know that was to be used. Didn`t find it any of the examples out there. Let me try this on the main program and then assign the points. Thanks again!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.