我似乎無法讓Visual Studio 2010在窗體顯示在屏幕上之前設置下拉列表的SelectedItem或SelectedIndex屬性。如果我等到表單可以看到,我可以毫無疑問地設置這些,所以我不確定問題出在哪裏。這是我的代碼。爲什麼我不能在表單顯示之前在VB.net中設置下拉列表的選擇?
Private Sub Test_Program_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For each item in System.IO.Directory.GetFiles(Application.StartupPath + "\Pictures\")
dd_pics.items.add(item)
Next
dd_pics.SelectedIndex = 0
background = dd_pics.SelectedIndex
End Sub
background是一個整型變量。我試圖將SelectedIndex更改爲SelectedItem,並將背景變量類型更改爲字符串,但這沒有幫助。在後面的代碼中,我使用背景變量來設置基於它從上面的代碼引用的文件的圖片。我沒有收到錯誤,但似乎Visual Studio正在跳過dd_pics.SelectedIndex = 0
和Sub中的所有順序行。我發現了這一點,因爲當我試圖將這裏引用的圖片設置爲PictureBox並且調試器告訴我在我試圖設置PictureBox的變量中沒有任何內容時,我確實發生了錯誤。我可以在按鈕中使用完全相同的代碼,並且它工作正常。唯一的區別是我可以找到的是,窗體是完全加載,我必須點擊按鈕,它在這裏是自動的。任何人至少可以告訴我什麼時候Visual Studio有這個問題,或者可能如何解決它?任何幫助是極大的讚賞。提前致謝。
嘗試更改以下兩個事件之一中的SelectedIndex值:https://msdn.microsoft.com/en-us/library/system.windows.forms.form.activated(v=vs.110) .aspx或https://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown(v=vs.110).aspx – 2015-01-20 22:17:59
@Visual Vincent - 不幸的是,那些沒有幫助。當我添加'Me.Activate()'行時,沒有什麼改變。我在表格的開頭嘗試了它,並在'dd_pics.SelectedIndex = 0'行之前。我也嘗試調用Sub,它給了我'Me.Shown'的問題,但是這也沒有改變任何東西。我確實發現了一些新的信息。而不是跳過其餘的行,現在它重複'dd_pics'行所在的函數。不知道爲什麼,但是如果我註釋掉'dd_pics'行,它會一直運行。 – ZeverMX 2015-01-20 22:34:25
什麼是'dd_pics',一個CBO?這不是真正的代碼,所以你可以設置一個斷點並觀察會發生什麼。如果在FormLoad或Sub New中引發異常,則不報告它們。也許把它設置爲AnyCpu並運行它看到 – Plutonix 2015-01-20 22:49:03