| re: Access Form Controls From Another Class?
The confusion lies in your naming convention.
Since frmMain uses camel notation, a C# developer using MS's conventions
will naturally assume that it's a member/local variable.
Anyways, you need to pass a reference to the form to the object that you
want to access its control.
public class MyControlAccessor
{
public MyControlAccessor(frmMain mainForm)
{
mainForm.myControl.....
}
}
"Michael Ramey" <rameymt@hotmail.com> wrote in message
news:uGPJ6MgfDHA.2152@tk2msftngp13.phx.gbl...[color=blue]
> The compiler error message is:
>
> An object reference is required for the nonstatic field, method, or
> property.
>
> The following code allowed me to access the control:
>
> frmMain frmActive = (frmMain)frmMain.ActiveForm;
> frmActive.myControl...
>
> Is there a better way?
>
> Thanks.
>
> Michael
>
> "100" <100@100.com> wrote in message
> news:O2rc8vffDHA.3024@tk2msftngp13.phx.gbl...[color=green]
> > Hi Michael,
> > What does *doesn't work* mean? Is there some compiler error message? It[/color]
> has[color=green]
> > to work as long as the myControl is public. I suppose frmMain is the[/color]
> member[color=green]
> > variable of the *other* class and it is initilized with the reference to[/color]
> the[color=green]
> > form.
> > Make sure as well that the frmMain's type is the type that has myControl
> > field.
> >
> > for example:
> > class MyForm: Form
> > {
> > public Control myControl = .....
> > }
> >
> > if you have
> >
> > Form frmMain = <reference to MyForm object>
> > and you try
> >
> > frmMain.myConrtrol.....
> >
> > it won't work because Form class doesn't have myControl member[/color][/color]
variable.[color=blue][color=green]
> >
> > However, if you have
> >
> > MyForm frmMain = <reference to MyForm object>
> >
> > frmMain.myControl....
> >
> > has to work.
> >
> > HTH
> > B\rgds
> > 100
> >
> >
> > "Michael Ramey" <rameymt@hotmail.com> wrote in message
> > news:eu8LKjffDHA.956@TK2MSFTNGP09.phx.gbl...[color=darkred]
> > > How can controls on a Windows Form be accessed (or referenced) from[/color]
> > another[color=darkred]
> > > Class? I know how to do it from another Form. The following doesn't[/color][/color]
> work[color=green][color=darkred]
> > > even though the Control Modifiers property is set to "Public":
> > >
> > > frmMain.myControl
> > >
> > > Thanks.
> > >
> > > Michael
> > >
> > >[/color]
> >
> >[/color]
>
>[/color] |