Announcement

Collapse
No announcement yet.

Sting in einen Objekt wandeln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sting in einen Objekt wandeln

    Hi,

    also ich habe einen string der enthält beispielsweise den namen eines buttons so jetzt möchte ich auf dem namen in den string zugreifen um den button zu ändern.

    kleines beispiel:

    [highlight=vbnet]

    dim strA as String = "Button1"

    strA.visible = false
    'soll den button der in dem String ist unsichtbar machen

    [/highlight]

    Hat jemand ne idee.

    Grüße

    TomTom

  • #2
    Hi

    ich würde es so machen:
    Code:
    For Each Button As Object In Me.Controls
                If TypeOf Button Is Windows.Forms.Button Then
                    If CType(Button, Windows.Forms.Button).Name = 'DEIN STRING strA' Then
                        Button.visible = False
                    End If
                End If
            Next
    gruß cad

    Comment


    • #3
      gut dann kann ich aber auch mit am select case arbeiten und dann die buttons händisch sichtbar machen

      Comment


      • #4
        Hallo,

        Beim programmieren führen meist mehr als tausend Wege nach Rom, worauf willst du hinaus? Was willst du machen?

        Gruß Cad

        Comment


        • #5
          Hi,

          Grundsätzlich musst Du immer unterscheiden, auf was Du zugreifen willst. Meinst Du den Button, so musst Du mit button1.Visible=True/False arbeiten, meinst Du den dargestellten Text des Buttons, so musst Du darauf mit button1.Text="Button 1" zugreifen. Vom Programmierprinzip sind die beiden Informationen aber völlig unabhängig.

          Einen String kann man nicht unsichtbar schalten, weil die Eigenschaft, ob er angezeigt wird, nicht am String hängt, sondern an dem Control, das diesen String darstellt. Ebensowenig kannst Du den Inhalt eines Textfeldes mit MySTring = textfeld1 auslesen, sondern musst myString = Textfeld1.Text auslesen.

          Nun zum eigentlichen Problem: Willst DU den Button über eine Eigenschaft auswählen, kommt es darauf an, ob der Button, den Du ansprechen willst button1 heisst oder mit button1 beschriftet ist, je nach dem musst Du auf andere Eigenschaften zugreifen.

          Im Endeffekt kann ich mal raten, was Du willst, ein entsprechendes Codeschnipsel sähe dann so aus:
          [highlight=vbnet]
          Dim ctl As Control = Nothing
          For Each x As Control In Me.Controls
          If x.Name = strA Then
          ctl=x
          Exit For
          End If
          Next

          If ctl IsNot Nothing then CType(ctl, Button).Visible = False
          [/highlight]
          Dies geht natürlich davon aus, dass Du eine VB-Version verwendest, die die Name-Eigenschaft unterstützt...

          Gruß
          Martin

          Edit: Ich sehe gerade, dass das Prinzip des Codes schon von cadburry genannt wurde, naja, dann halt ein bisschen abgesichert und nach Finden verlassen, kann ja auch nichts schaden... ich sollte mir wohl doch mal angewöhnen, die bisherigen Beiträge GENAU anzusehen
          Zuletzt editiert von M.Dietz; 08.05.2009, 13:06.

          Comment

          Working...
          X