2013-04-23 6 views
0

Итак, у меня есть, что мои варианты в моей группе со списком делают разные списки в моем списке. То, что я пытаюсь сделать сейчас, это сделать мой выбор в моем списке, дать мне переменную, чтобы я мог вычислить что-то еще с помощью переменной. (Вроде как я могу, если SeleceIndex = 0, то) Я пробовал всевозможные вещи, пытаясь избегайте писать больше личных подписчиков и запускать их.Множественные переменные в списках

Я использую VB.net 2010 и по какой-то странной причине SelectedItem не дает мне номера. Должен ли я ожидать использования другой фразы, чтобы найти какую переменную в списке, выбранную пользователем, или мне придется ее всасывать и делать частные субмарины? (т. Е. Выглядит примерно так, но это только одна вариация).

intticket = cbx1.SelectedIndex 
inttickets = lstbx1.SelectedItem 
If intticket = 0 Then 
    SeasonSeats() 
ElseIf intticket = 1 Then 
    SingleGameSeats() 
End If 
If (intticket = 0) AndAlso (inttickets = 0) Then 
    intseatgame = intseaboxseats  
ElseIf (intticket = 0) AndAlso (inttickets = 1) Then  
    intseatgame = intsealowerdeck  
End If 
+0

Этот asp.net или WinForms? – MatthewMartin

+0

Кроме того, .SelectedItem, вероятно, возвращает объект со свойствами Text и Value. Ref http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selecteditem.aspx И вы можете захотеть выбрать имена переменных с большей психологической дистанцией вместо intticket и inttickets, если вы не намеревались позднее - множественное число и указать коллекцию или тому подобное. – MatthewMartin

+0

Для WinForm, насколько мне известно, SelectedItem вернет только что-то, если вы привяжете его к источнику данных. – Ruly

ответ

0

Я думаю, что вы ищете ListBox.SelectedIndex Property - это возвращает 0 на основе индекса выбранного элемента.

Вы также можете переместить второй Если блок внутри первой (это больше стилистических изменений):

intticket = cbx1.SelectedIndex 
inttickets = lstbx1.SelectedIndex 

If intticket = 0 Then 
    SeasonSeats() 
    if (inttickets = 0) Then 
     intseatgame = intseaboxseats 
    ElseIf (inttickets = 1) Then 
     intseatgame = intsealowerdeck 
    End If 
ElseIf intticket = 1 Then 
    SingleGameSeats() 
End If 
Смежные вопросы