2015-01-08 4 views
0

Я работаю с VBA, и я изо всех сил, чтобы получить выпадающий с двумя вариантами:Как вставить условное поле со списком?

  • Первый вариант: текстовое поле рядом с ним должен появиться один «-», как если должно быть пустым или отключено.
  • Вторая опция: те же тексбокс должны иметь возможность принимать входные данные, например номера.

Нравится: «У вас есть удостоверение личности?» если нет, не заполняйте texbox. Если да, заполните его своим номером.

Спасибо!

+0

Пожалуйста, укажите более подробную информацию о вашей системе (JQuery? Angular? Winforms?), А также о конкретных частях проблемы, с которой вы столкнулись. – ryanyuyu

+0

Извините, что я действительно новичок в этом .. Я использую VBA, и проблема в combobox: если я выбрал один из вариантов, я хочу, чтобы этот параметр делал другой texbox неспособным получить какой-либо imput. Если я выбрал другой вариант, я хочу, чтобы тот же texbox мог получать imput, например, число. –

ответ

0

Я предполагаю реализацию C#, но это будет работать в основном для любого проекта .net или WINFORMS.

if(cbo.selectedindex = 0) 
    tbFoo.text = "-"; 
else if(cbo.selectedindex == 1) 
    tbFoo.text = "filltextwithID"; 

Проверьте, если SelectedIndex вашего выпадающего списка является первой или второй опцией в списке и сделать свой первый вариант с первой SelectedIndex, иначе, если это второе, наполнит ваше текстовое поле с тем, что вам нужно, чтобы заполнить его с (textwise).

Используйте свой условный оператор if (естественно, я знаю), чтобы проверить ваши условия, которые вы хотите, чтобы ваш combobox сделал с вашим текстовым полем.

В противном случае другой способ сделать это с событием selectedindexchanged и выполнить оператор switch или оператор if, на основании которого вы выбралииндекс, о котором вы говорите. 0 - это первый предмет .... полностью до n элементов.

+0

Спасибо за помощь! Im с помощью VBA, но я предполагаю, что код действительно похож на этот ты написал .. Как вы думаете, он будет работать, если я ставлю в VBA как: 'Private Sub ComboBox_Change() если (cbo.selectedindex = 0) tbFoo.text = "-"; else if (cbo.selectedindex == 1) tbFoo.text = "filltextwithID"; End Sub' Или что-то подобное? –

+0

Да. Это звучит правильно. К сожалению, я больше не использую vba, но это звучит правильно. – Adam

+0

Отлично, спасибо! –

0

Я понял! Вот код:

Private Sub ComboBox_Change() 

    If ComboBox = "I don't have an ID" Then 
    IdTextBox.Visible = False  'Hidden 
    IdLabel.Visible = False 

    Else 
    IdTextBox.Visible = True 'Unhidden 
    IdLabel.Visible = True 
    End If 

End Sub