Solved

Is this legal in VB.NET if not, why and how to solve it.

Posted on 2004-09-16
12
522 Views
Last Modified: 2010-08-05
okay,...in the code for my main for which contains tcProfile.   - Please read below

if tcProfile.tabPageCollection(tpAlertinformation.Contains(grpAlert.Contains(pnlEnablealert.Contains(cboEmailaddress.txt)))) <> "" The

etc , etc, etc,

Now,...this isn't quite working...can someone tell me what's up? and I'm going about this wrong?

Thanks,


Thomas
0
Comment
Question by:croag
  • 5
  • 4
  • 2
  • +1
12 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 12080256
What are you trying to do?  Contains returns a true/false, so how would you use that as an index to a collection?

Bob
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 12080831
are you looking for the indexof() method which returns the index of a value here ? that would make more sense for use in the indexing of another collection.
0
 
LVL 1

Author Comment

by:croag
ID: 12082185
Hello,


Thanks for the read!...Well, I 'm just trying to write an IF statement in the load of the form...The thing is, the combo box that I'm trying to check, lives within panel which lives in a group which lives in a tabpage which belongs to a tabcontrol. Phew. Anyhelp is appreciated. Thanks!
0
 
LVL 5

Expert Comment

by:tzxie2000
ID: 12083105
could you test just


if (cboEmailaddress.text) <> "" Then
end if

We do not need to use contains to access it
the contains just used to go through the controls in the page
0
 
LVL 5

Expert Comment

by:tzxie2000
ID: 12083109
sorry for more ()

if cboEmailaddress.text <> "" Then
end if
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 12083527
This is what I use to find a control recursively looking through other container controls:

  Public Function FindControlByName(ByVal containerParent As Object, ByVal nameSearch As String) As Control

    ' Description:
    '  Starting with the top-level container, search through each control looking for a control
    '  with the specified name.  If the current control has children controls, such as a GroupBox, then
    '  recursively call this routine to search for the control in each container.  

    ' VB.NET is different in this regard from VB6, where Me.Controls in VB6 contained all the controls
    ' for the form, and in VB.NET it contains only the top-level controls.

    Dim foundControl As Control

    Try

      For Each controlCurrent As Control In containerParent.Controls

        If controlCurrent.Controls.Count > 0 Then

          ' The current control owns other controls, so search through the
          ' controls for that container for the specified control name.
          foundControl = FindControlByName(controlCurrent, nameSearch)
        End If

        ' Control not found from the container search?
        If foundControl Is Nothing Then

          ' Control matched by name?
          If controlCurrent.Name = nameSearch Then

            ' Return a reference to the control to the caller.
            foundControl = controlCurrent

            ' Don't go any further, since the control was found.
            Exit For

          End If ' Control matched by name?

        Else

          ' Don't go any further, since the control was found on the container.
          Exit For

        End If ' Control not found from the container search?

      Next controlCurrent

    Finally

    End Try

    Return foundControl

  End Function 'FindControlByName'

Bob
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Author Comment

by:croag
ID: 12087113
Thank you all for your input. Bob, I believe that you understand me the best. Is this function that you have written necessary for VB.NET only or was it neccessary for VB6 as well? If so, why? Also, Do you think you could show how you use your little function here in a piece of code...say..between form1 and form2, each containing a text box? Also, should that function have to be a module Thank you soooooooo much in advace.I've upped the points! Thanks!
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 12087167
In VB6, you didn't have the concept of containers having a Controls property.  In VB.NET 2005, you will be able to reference a control by it's name:

GroupBox("textInput")

This isn't here yet, so this IMHO is necessary in VB.NET 2002 or 2003, since you can't reference controls by name.

You could have this as as shared function in a class module (like String.Format):

Public Class Utility

  Public Shared Function FindControlByName

End Class

Call by Utility.FindControlByName(form1, "textInput")

Bob
0
 
LVL 1

Author Comment

by:croag
ID: 12087696
Maaan....thank you sooo much bob. You are alifesaver like none other. one last little thing...please? can I put pass that 'Call by Utility.FindControlName(formname,controlname)' into a different varibles in the load event on each form? if so. how..


Thank you soooo much...this has been great!!!!
0
 
LVL 1

Author Comment

by:croag
ID: 12088643
more points still for that last piece of info..then I'm all set I believe! Thanks!
0
 
LVL 1

Author Comment

by:croag
ID: 12098501
can I put pass that 'Call by Utility.FindControlName(formname,controlname)'  above into a different varibles in the load event on each form so as to make limit the amount of typing I woud have to do (by not having to type Utility.FindControlName each time)? if so. how..
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 190 total points
ID: 12101227
I am not exactly sure what you are asking for?

Bob
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

863 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

17 Experts available now in Live!

Get 1:1 Help Now