ebick
ebick

Reputation: 79

How come I can't access public properties or user set controls in C# WinForms?

I grew up on VB.Net. From there, in a routine, I could instantiate a form, and access controls that I had put on that form, like a textbox. Further, after hiding the form, I could read public properties that got set on the form. I am trying to do this in C# and according to the intellisense, neither is accessible.

so, in Form 1, for example I say

Form f = new MyOtherForm();

from there, f only returns things like Text, or Tag.....I can't see any controls on f to set them.

Further, MyOtherForm has a public property called MyResult. After a show dialog, in VB.Net, I could, from the calling form, access f.MyResult

In C#, I cannot.

Can someone help me understand how it works in C#?

Upvotes: 0

Views: 1670

Answers (2)

krillgar
krillgar

Reputation: 12815

To make your life easier, learn and love the var keyword.

The implicit typing that this introduces allows for you to not have to worry about getting the correct type when declaring a variable. In your case, you know exactly what you're setting it to, so it isn't a huge deal. However, when you're getting results from methods, or LINQ calls, this provides a huge benefit.

Bear in mind, this isn't like the var keyword in JavaScript. Your variable still has the correct type, only you don't have to set it explicitly.

Upvotes: 1

Pecheneg
Pecheneg

Reputation: 808

If you want to see the properties of MyOtherForm, you should declare the form as MyOtherForm:

MyOtherForm f = new MyOtherForm();

Beside that, you should also check if the property you are looking for is set as public.

Upvotes: 3

Related Questions