2015-05-02 2 views
0

Я пишу простую программу в VB с WinForms (ну, я думаю, так, как я никогда не пробовал ничего подобного раньше). Моя попытка разработки с использованием Google была довольно неплохой, пока я не попытался сделать элемент управления ComboBox одним из своих элементов по умолчанию.ComboBox default item

Итак, есть ComboBox1 с двумя элементами («Item A» и «Item B»), добавленными через графический интерфейс (свойство Элементы в панели свойств). Я хожу в Form1_Load описания событий в окне кода и добавьте следующую строку:

ComboBox1.SelectedItem = 0 

Это предполагается сделать «Элемент A» элемент по умолчанию предварительно выбранным при запуске программы. Но это не сработает. Что я делаю не так?

+0

Я редактировал свой титул. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

О, моя ошибка, да. Спасибо. – wintermute

+1

Вместо этого используйте 'ComboBox1.SelectedIndex = 0'. Знаете ли вы о чем-то, что называется [MSDN] (http://msdn.microsoft.com/)? –

ответ

0

Это потому, что вы используете 0 (целое число) в ComboBox.SelectedItem, но ComboBox.Selected item не является индексом для элемента, это фактический объект.

Это, как вы используете ComboBox.SelectedItem:

Option Strict On 
Option Explicit On 
Option Infer Off 
Public Class Form1 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     ComboBox1.Items.Add("Item A") 
     ComboBox1.Items.Add("Item B") 
     ComboBox1.SelectedItem = "Item A" 
    End Sub 
End Class 
+0

Спасибо. Ну, я пробовал разные комбинации, и они не сработали. Но я заметил, что мне не хватает части «Handles MyBase.Load», поэтому я добавил ее, и теперь все работает нормально. – wintermute