By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,267 Members | 1,808 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,267 IT Pros & Developers. It's quick & easy.

ComboBox's SelectedIndex Property problem

P: n/a
Hi Everyone,

I am at my wit's end here. I have a combobox (combyQueryTitle) that I
need to use in order to select a query for my database project. Therefore,
I am using the comboQueryTitle_SelectedIndexChanged handler to, when a new
selection is made, update the query and refresh the display. The only
problem is that the program seems to inexplicably start with the
..selectedindex property at -1! This makes no sense to me. Furthermore,
this is, apparently, happening *before* my form loads, as not only does the
form not appear on screen, but even when I put a breakpoint at the first
possible line within the form_load handler, it still crashes; the breakpoint
is never even reached. Is there a way to locate the point at which the
property is being changed to (or created with) the value of -1? It seems to
me that it should not happen at all.
Please respond here, if possible; if you need more info, you can reach
me via AIM at ajeric74. Thank you!

-- Eric
Nov 21 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
Then cmbComboBox.SelectedIndex is -1 (default value)

You get an error if you would try this:
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
cmbComboBox.SelectedIndex = 0

Can't you exit event _SelectedIndexChanged when the index is invalid?

With cmbComboBox
If .SelectedIndex < 0 Or .SelectedIndex >= .Items.Count Then
Exit Sub
End If
End With
"Eric A. Johnson" <no*****@dontlookforme.com> schreef in bericht
news:7Q******************@newssvr14.news.prodigy.c om...
Hi Everyone,

I am at my wit's end here. I have a combobox (combyQueryTitle) that I
need to use in order to select a query for my database project.
Therefore,
I am using the comboQueryTitle_SelectedIndexChanged handler to, when a new
selection is made, update the query and refresh the display. The only
problem is that the program seems to inexplicably start with the
.selectedindex property at -1! This makes no sense to me. Furthermore,
this is, apparently, happening *before* my form loads, as not only does
the
form not appear on screen, but even when I put a breakpoint at the first
possible line within the form_load handler, it still crashes; the
breakpoint
is never even reached. Is there a way to locate the point at which the
property is being changed to (or created with) the value of -1? It seems
to
me that it should not happen at all.
Please respond here, if possible; if you need more info, you can reach
me via AIM at ajeric74. Thank you!

-- Eric

Nov 21 '05 #2

P: n/a

"Qwert" <no**@nosp.com> wrote in message
news:Wc********************@casema.nl...
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
Then cmbComboBox.SelectedIndex is -1 (default value)

You get an error if you would try this:
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
cmbComboBox.SelectedIndex = 0

Can't you exit event _SelectedIndexChanged when the index is invalid?

With cmbComboBox
If .SelectedIndex < 0 Or .SelectedIndex >= .Items.Count Then
Exit Sub
End If
End With


I would like to ask for a side question.
If that is -1 (by default), how do I set the combo text when there is no
selection? Something like web pages "(Please choose a category from
list)"...

That will help a lot. TIA.

Boo K.M.
Nov 21 '05 #3

P: n/a
Better form would be

If not me.cmbComboBox.selectedindex=-1 then
'do something
end if

put that inside your handler....
--
--Eric Cathell, MCSA
"Qwert" <no**@nosp.com> wrote in message
news:Wc********************@casema.nl...
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
Then cmbComboBox.SelectedIndex is -1 (default value)

You get an error if you would try this:
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
cmbComboBox.SelectedIndex = 0

Can't you exit event _SelectedIndexChanged when the index is invalid?

With cmbComboBox
If .SelectedIndex < 0 Or .SelectedIndex >= .Items.Count Then
Exit Sub
End If
End With
"Eric A. Johnson" <no*****@dontlookforme.com> schreef in bericht
news:7Q******************@newssvr14.news.prodigy.c om...
Hi Everyone,

I am at my wit's end here. I have a combobox (combyQueryTitle) that I
need to use in order to select a query for my database project.
Therefore,
I am using the comboQueryTitle_SelectedIndexChanged handler to, when a
new
selection is made, update the query and refresh the display. The only
problem is that the program seems to inexplicably start with the
.selectedindex property at -1! This makes no sense to me. Furthermore,
this is, apparently, happening *before* my form loads, as not only does
the
form not appear on screen, but even when I put a breakpoint at the first
possible line within the form_load handler, it still crashes; the
breakpoint
is never even reached. Is there a way to locate the point at which the
property is being changed to (or created with) the value of -1? It seems
to
me that it should not happen at all.
Please respond here, if possible; if you need more info, you can reach
me via AIM at ajeric74. Thank you!

-- Eric


Nov 21 '05 #4

P: n/a
Hard code that as your first selection. Then when you bind the datasource it
should fill in under that selection.

-1 means the control is initializing or is stateless(I think I read that on
MSDN) Once the form is loaded the default index=0

combo box's can be a pain....
--
--Eric Cathell, MCSA
"Boo K.M." <bo************@bkm-researcher.com> wrote in message
news:43********@news.tm.net.my...

"Qwert" <no**@nosp.com> wrote in message
news:Wc********************@casema.nl...
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
Then cmbComboBox.SelectedIndex is -1 (default value)

You get an error if you would try this:
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
cmbComboBox.SelectedIndex = 0

Can't you exit event _SelectedIndexChanged when the index is invalid?

With cmbComboBox
If .SelectedIndex < 0 Or .SelectedIndex >= .Items.Count Then
Exit Sub
End If
End With


I would like to ask for a side question.
If that is -1 (by default), how do I set the combo text when there is no
selection? Something like web pages "(Please choose a category from
list)"...

That will help a lot. TIA.

Boo K.M.

Nov 21 '05 #5

P: n/a
I think you actually want to use .text value. Actually you can databind the
same combobox to 2 different datasources. So if you have a table that has
the query name, query you could do something like this

cbo.datasource=table
cbo.diplaymember=column0name
cbo.databinding.add(new binding("text",table,"column0name)
cbo.databinding.add(new binding("valuemember",table,"column1name)

then you would be able to get the querystring off the .selectedvalue
property.

Play around with it some, I ALWAYS have to tinker with my comboboxes because
it always seems each situation needs a different approach. Combos are a
pain...but thats because they are very powerful.
--
--Eric Cathell, MCSA
"Eric A. Johnson" <no*****@dontlookforme.com> wrote in message
news:g%******************@newssvr14.news.prodigy.c om...
As a matter of fact, is it possible to get the text associated with an
index within the combobox without actually modifying the .selectedindex
property? It is extremely annoying, trying to change within the program
code the selected index, only to have it crash because... I don't even
know why. I can't understand why it won't allow me to change the selected
index! The tooltip in VB.NET tells me that the .selectedindex method
allows me to get or set the index that is selected. Maybe if someone can
point me to a detailed explanation of this idiotic behavior and how to
work around it? I just want the invisible combobox's index to be the same
as the visible one. My AIM name is ajeric74... SOMEBODY please come online
to help me!!!

-- Eric

"Eric A. Johnson" <no*****@dontlookforme.com> wrote in message
news:vM*****************@newssvr14.news.prodigy.co m...
Okay, I have another question: What I'm trying to do is to use an
ordinary combobox to hold the query title, and an invisible combobox to
hold the actual query. I want to make it so that the invisible combobox
will change to match the visible one, thereby allowing its .text property
to contain the proper query. Is that possible?

TIA,
Eric

"ECathell" <ec******@nospam.com> wrote in message
news:Og****************@tk2msftngp13.phx.gbl...
Better form would be

If not me.cmbComboBox.selectedindex=-1 then
'do something
end if

put that inside your handler....
--
--Eric Cathell, MCSA
"Qwert" <no**@nosp.com> wrote in message
news:Wc********************@casema.nl...
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
Then cmbComboBox.SelectedIndex is -1 (default value)

You get an error if you would try this:
Me.cmbComboBox= New System.Windows.Forms.ComboBox()
cmbComboBox.SelectedIndex = 0

Can't you exit event _SelectedIndexChanged when the index is invalid?

With cmbComboBox
If .SelectedIndex < 0 Or .SelectedIndex >= .Items.Count Then
Exit Sub
End If
End With
"Eric A. Johnson" <no*****@dontlookforme.com> schreef in bericht
news:7Q******************@newssvr14.news.prodigy.c om...
> Hi Everyone,
>
> I am at my wit's end here. I have a combobox (combyQueryTitle)
> that I
> need to use in order to select a query for my database project.
> Therefore,
> I am using the comboQueryTitle_SelectedIndexChanged handler to, when a
> new
> selection is made, update the query and refresh the display. The only
> problem is that the program seems to inexplicably start with the
> .selectedindex property at -1! This makes no sense to me.
> Furthermore,
> this is, apparently, happening *before* my form loads, as not only
> does the
> form not appear on screen, but even when I put a breakpoint at the
> first
> possible line within the form_load handler, it still crashes; the
> breakpoint
> is never even reached. Is there a way to locate the point at which
> the
> property is being changed to (or created with) the value of -1? It
> seems to
> me that it should not happen at all.
> Please respond here, if possible; if you need more info, you can
> reach
> me via AIM at ajeric74. Thank you!
>
> -- Eric
>
>



Nov 21 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.