modülünden gelen birleşik giriş kutusuna öğeler ekleyerek System.Windows.Forms.Form üyesi değildir, this, this ve this'u gördüm, ancak sorumu yanıtlamıyorlar.Combobox,
VB6 programının VB.NET'e (2008) yükseltilmesi ve günümüzün sürümüne yükseltilmesi için bir projem var. Birçok form için çeşitli şeyler yapan bir modülüm var. Aktif formun adı bir global değişkende (Current_Active_Form
) saklanır. Formdan forma aynı adı taşıyan birçok formda aynı denetimler vardır (örneğin, comboX
). Şimdi ilgilendiğim, bir for döngüsü kullanan bir öğeler listesiyle bir combobox (comboX
) yükleyen bir işlevdir. Bunu diğer birçok combobox ve datagridviews ile yapan birçok başka fonksiyon var, bu yüzden bu bana her yerde yardımcı olacak.
Örnek:
Public Function fillComboX(ByRef fncString As Object) As String
'Current_Active_Form is a global variable
Dim startPoint as Integer 'substring starting point
Dim items as Integer 'number of items in item string
Dim strItem as String 'string for individual item
dim strItems as String 'string for all items
...'code that fills strItems based on fncString
'(don't ask me why it's an object)
...'items is filled at the same time
startPoint = 1
With Current_Active_Form
.comboX.Items.Add("")
'^^ line gives error comboX is not a member of System.Windows.Forms.Form
For i = 1 to items
strItem = strItems.Substring(startPoint, 50)
.comboX.Items.Add(strItem)
'^^so does this line
startPoint = startPoint + 50
Next i
End With
End Function
Buranın kaç benzer bunu yapmanın bir yolu var mı? İhtiyacım olan her şeyi yapabilirim, ama bu yeterince büyük bir yükseltme. Teşekkürler!
geri değiştirebilir benim test amacıyla alt dize uzunluğunu azaltılmış formX gerçek sınıf adıdır FormX' olarak şeklinde. Bu – Plutonix
form sınıfındaki bir yöntem olarak daha iyi olabilir İkinci bağlantı başka bir çözüm sunuyor: CBO geçmek. Ancak bu sadece FormX.comboX için kullanıldığında, formun bir modülden ziyade kendi kontrollerini yönetmesi için bir yöntem haline getirin. – Plutonix
@Plutonix Doğru, form "Public Current_Active_Form As System.Windows.Forms .Form'. "FillComboX" işlevini çağıran çeşitli biçimlerden biri olabilir. Devam edebilir ve bu kodu kopyalayıp her yere yapıştırabilirim, ancak mümkünse merkezi olarak saklamayı tercih ederim. – pixelmeow