textboxen erstellen
lima-city → Forum → Programmiersprachen → Basic
code
datei
deklaration
einlesen
erstellen
fenster
file
form
label
list
position
problem
region
set
setting
string
system
text
typ
zeile
-
hallo
ich will per code Textboxen und ein Label erstellen.:
Public Function createLabel() As Label Return New Label End Function Public Function createText() As TextBox Return New TextBox End Function
in anderen Klasse habe ich 2 variablen dafür.
Public text As TextBox Public label As Label
das zuweisen mach ich da:
Public Sub CreateLabelAndTextbox() text = Startform.createText() label = Startform.createLabel() End Sub
das Problem. ich seh kein textbox oder label!
hilfe pls, thx. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
und wo sagst du, dass das erzeugte Label und die erzeugte Textbox in deinem Fenster dargestellt werden sollen? das hast du wohl irgendwie vergessen.
in deiner "anderen Klasse" musst du noch sowas schreiben wie:
Gut wärs, wenn du noch eine Position vorgeben würdest, wo die Elemente erscheinen sollen.me.controls.add(text) me.controls.add(label)
-
Danke für deine Antwort.
Das hab ich jetzt in der Klasse drin die nicht die von der Form ist.(ich habs wie du gesagt hast noch mal geändert.)
Public Sub CreateLabelAndTextbox() text = Startform.createText() label = Startform.createLabel() Startform.Controls.Add(text) Startform.Controls.Add(label) With text .Top = Startform.getTextTop() .Left = Startform.getTextLeft() .Enabled = True .Visible = True .Width = 39 .Height = 13 End With With label .Top = Startform.getLabelTop() .Left = Startform.getLabelLeft() .Enabled = True .Visible = True .Width = 39 .Height = 13 End With End Sub
Das ist der code der in der Klasse von der Form ist(Startform)
Public Function createLabel() As Label Return New Label End Function Public Function createText() As TextBox Return New TextBox End Function
funzt trotzdem noch nicht.
Beitrag zuletzt geändert: 22.12.2010 20:51:05 von the-8-beta -
Also bei mir funktioniert dieser Code wunderbar. Ich glaub du hast entweder:Public Class Form1 Dim mylabel As New Label Dim mytextbox As New TextBox Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Controls.Add(mylabel) Me.Controls.Add(mytextbox) mytextbox.Text = "TEXTBOX" mylabel.Text = "LABEL" mytextbox.Top = 10 mylabel.Top = 50 End Sub End Class
a) die falsche Klasse verwendet (sorry, blicke da nicht durch wo du das genau eingetragen hast)
oder
b) Steuerelemente sind nicht sichtbar, weil du die Position irgendwo gesetzt hast, wo die nicht mehr innerhalb des Fensters sind (schätze mal zu weit oben) -
^so einfach hab ich es nicht
weil ich weiß nicht wie viele Textboxen, Labels erzeugt werden müssen.
Diese Klasse wird x mal erstellt:
Public Class Setting #Region "Variablen" Public sv_setting As String Public Typ As String Public Value As String Public text As TextBox Public label As Label Property labeltext As String Get Try Return label.Text Catch ex As Exception Startform.Status1.Text = "ERROR Class Setting labeltext-Get" Return ("") End Try End Get Set(ByVal value As String) Try label.Text = value Catch ex As Exception Startform.Status1.Text = "ERROR Class Setting labeltext-Set" End Try End Set End Property #End Region Public Sub CreateLabelAndTextbox() text = Startform.createText() label = Startform.createLabel() Startform.Controls.Add(text) Startform.Controls.Add(label) With text .Top = Startform.getTextTop() .Left = Startform.getTextLeft() .Enabled = True .Visible = True .Width = 39 .Height = 13 End With With label .Top = Startform.getLabelTop() .Left = Startform.getLabelLeft() .Enabled = True .Visible = True .Width = 39 .Height = 13 End With End Sub End Class
deswegen kann ich es nicht so machen. wie du sagtest :(
Der Pfad zu der Klasse ist:
Startform->config_muster->setting
config_muster gekürtzt:
Private File As New Datei Private SettingsCounter As Integer Public Settings() As Setting Public Sub get_muster() ReDim Settings(ZähleDims()) 'Wie viele settings gibt es? SettingsCounter = 0 'zähler zurücksetzen Dim Zeilen As List(Of String) 'Datei einlesen Zeilen = File.Zeilen_array Dim i As Integer For i = 0 To Zeilen.Count - 1 Step 1 'Jede Zeile durchgehen Zeile(Zeilen.Item(i)) Next End Sub Public Sub Zeile(ByVal text As String) 'Zeile auswerten If StringBis(text, " "c, 0) = "dim" Then If StringVon(StringBis(text, "("c, 0), " "c, 0) = "text" Then 'Objekt erstellen Settings(SettingsCounter) = New Setting Settings(SettingsCounter).CreateLabelAndTextbox() Dim KlammerInhalt As String = AusKlammern(text, 8) Dim labeltext As String = StrAusLesen(KlammerInhalt, Chr(34), 8) Dim sv_setting As String = StrAusLesen(KlammerInhalt, Chr(34), 8 + labeltext.Length) Dim Typ As String = StrAusLesen(KlammerInhalt, Chr(34), 8 + labeltext.Length + sv_setting.Length) 'Settings(SettingsCounter).labeltext = SettingsCounter += 1 End If End If End Sub
Ich hab nur die Vars deklaration ins Forum kopiert und die 2 wichtigen funktionen. Die anderen funktionieren alle.(habs ausprobiert) Nur da dazwischen muss der Fehler sein. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage