Shahgee
Shahgee

Reputation: 3405

accessing controls on parentform from childform

I want to change text in textbox on parentform from childform. I set textbox

modifiers= public i have extra written a function in parentform

public TextBox txtbox
{
  get
  {
    return  mybox;
  }
  set
  {
    mybox= value;
  }
}

in child form on writing this.ParentForm. ( can't see mybox). what i am missing. regards,

Upvotes: 3

Views: 7538

Answers (3)

user111013
user111013

Reputation:

Random guess without seeing any actual code: mybox is likely not declared public.

Edit: Or, ah, yes, as Andrei says - you havn't cast the ParentForm to your parent form's type.

Upvotes: 0

Andrei Pana
Andrei Pana

Reputation: 4502

I think the problem is that ParentForm is of type Form which does not have a member txtbox. You need to cast ParentForm to your form (suppose it is Form1), like:

((Form1)this.ParentForm).txtbox

Upvotes: 3

Oded
Oded

Reputation: 499002

Since ParentForm will return a Form and not your form, you need to cast it before you can access any of your custom properties:

((MyForm)this.ParentForm).textbox = "new text!";

Additionally, you are setting the whole control, not just the text.

Try this, to expose the text property only:

public string txtbox
{
  get
  {
    return  mybox.Text;
  }
  set
  {
    mybox.Text = value;
  }
}

Upvotes: 4

Related Questions