Solved

Show all textbox name properties on a form...

Posted on 2009-07-07
13
166 Views
Last Modified: 2012-05-07
Hi,

Is there a good way of showing all the name properties for a form.

What I want to do is see all the variable names... Instead of clicking each one and writing it down I was wondering if there was a built in method or a program to download.

tnx
~j
0
Comment
Question by:NCSO
  • 5
  • 4
  • 3
  • +1
13 Comments
 
LVL 53

Expert Comment

by:Dhaest
ID: 24801081
Where do you want to see all the variable names ? What exactly do you mean ?

Retrieve, Change, or Create Program Information
http://visualbasic.about.com/od/usingvbnet/a/proginfo.htm
0
 
LVL 6

Expert Comment

by:ahmad2121
ID: 24801088
It's all in the designer files. Just open the designer, and look for every instance of .Name.
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 24801111
What do you mean with "name properties" ?
Looks like you need a PropertyGrid
0
 

Author Comment

by:NCSO
ID: 24803064
It was hastly put together...  here's some clarification...

I have forms with 50+ textboxes and instead of clicking each individual box and writing down the variable name it would be cool (and time-saving) if there was a way to print out the form with the property:(Name) on it.    

I printed the Document Outline which helps a bit but it still isn't what I want.

ahmad2121:  Yes I know it is, but I also have 11.000 other controls and crap on the form that makes that view slightly skewed without sorting through it.

jaime_olivares: Well I mean the Property called "Name" for the textboxes, checkboxes, dropdowns etc.  

tnx
~j
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24803220
Use LINQ and Visual Basic 2008 to Get a List of TextBoxes from a Windows Forms Form
http://cs.vbcity.com/blogs/mike-mcintyre/archive/2008/09/01/use-linq-and-visual-basic-2008-to-get-a-list-of-textboxes-from-a-windows-forms-form.aspx
' Create a LINQ query.
 

        Dim textBoxQuery = From control In Me.Controls Where TypeOf (control) Is TextField
 

        ' Create a list of object.
 

        Dim textBoxList = textBoxQuery.ToList
 

        ' Iterate through the objects in textBoxList.

        For Each txtBox As TextBox In testBoxList

            ' Show each TextBox's name property.

            MessageBox.Show(txtBox.Name)

            ' Show each TextBox's text property.

            MessageBox.Show(txtBox.Text)
 

        Next

Open in new window

0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 24803469
>>Yes I know it is, but I also have 11.000 other controls and crap on the form that makes that view slightly skewed without sorting through it.
Sound like you are not organizing well your dialog. A datagrid or propertygrid will give you similar functionality in a single control.
More than 100 controls in a form is against any UI design recommendation.
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 53

Expert Comment

by:Dhaest
ID: 24803489
You can also do it without linq:

Dim ctrl As Control

        For Each ctrl In Me.Controls

            If TypeOf ctrl Is TextBox Then 

                  MessageBox.Show(ctrl.Name)

        Next

Open in new window

0
 

Author Comment

by:NCSO
ID: 24803835
Jeeezzz....

jaime_olivares: Thanks for your comment on my organizational skills, if I needed a lecture I would have asked my wife's opinion...  Obviously I was exaggerating....

Dhaest:   Right, but that doesn't really do more that the Document Outline gives me...  

What I would love to see was a program or utility to print the form and overlay the variable names (in this case the Property:Name)...

I guess it's up to me to build it.

tnx
~j
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 24804317
>>Thanks for your comment on my organizational skills, if I needed a lecture I would have asked my wife's opinion...
Even if you have 100 controls, my comments about thinking in another integrated control like datagrid or propertygrid is still valid. Sometimes the solution to a question is different than your initial expectation.
This kind of answers just contribute to discourage experts to continue helping you.

Besides this, there is not a property called Name, it is just simulated by VS form editor. Controls are stored as fields of form, so you can query by field name with reflection:

TextBox tb = this.GetType().GetField("FieldNameHere").GetValue(this) as TextBox;  // asumming 'this' is form itself
tb.Text = something.

So, if your information is inside a dictionary like:

Dictionary<string,string> allInfo= .....;  // key = textbox name, value=text

foreach (KeyValuePair<string,string> info in allInfo)
{
   TextBox tb = this.GetType().GetField(info.Key).GetValue(this) as TextBox;  // asumming 'this' is form itself
   if (tb != null)
   {
       tb.Text = info.Value;
   }
}
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 24806260
In what control, text, ... do you want to show all the names of the textbox ?

Example: list all names in a combobox

Dim ctrl As Control

        For Each ctrl In Me.Controls

            If TypeOf ctrl Is TextBox Then 

                  cbo.Items.Add(ctrl.Name)

        Next

Open in new window

0
 

Author Comment

by:NCSO
ID: 24806468
I must be explaining myself completely wrong I guess...  (i am a freakin' foreigner so what did you expect :)

I don't want to show the variables in the program, I would like a way to see the form with the Name property displayed by each field to ease the creation of SQL statements etc.

My ideal solution would show the Form like a screenshot perhaps and with the Property 'overlayed' on each editable control such as checkboxes, text boxes, listboxes etc.  

~j
0
 
LVL 53

Accepted Solution

by:
Dhaest earned 500 total points
ID: 24811191
Now I understand what you mean...
I don't think that there is a tool or something to achieve what  you want...
0
 

Author Closing Comment

by:NCSO
ID: 31600822
Document Outline is my only solution I guess... thanks anyway...

Enjoy the points!
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now