bei doppeltem control hinzufügen altes control nicht löschen

  • Allgemein

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von OpferKlopfer.

    bei doppeltem control hinzufügen altes control nicht löschen

    Hey leute,

    wollte mal fragen, wie man es schafft das wenn man mit me.controls.add() verhindern kann wenn man mehrere controls hinzufügt, das das/die alte/n nicht gelöscht wird/werden... danke schonmal
    Die "alten" Controls werden bestimmt nicht gelöscht, wenn Du mit .Add() neue hinzufügst... Erklär mal genauer bitte.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Schon klar, dass das Panel die vorhandenen Controls "überdeckt", jedoch werden diese Controls nicht gelöscht.

    Deklariere das Panel global als "WithEvents", dann hast Du Zugriff auf die Events der Panel-Klasse. Alternativ AddHandler innerhalb einer Sub/Function verwenden.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    hättest du ne idee wie das geht?

    EDIT:

    Wenn du weißt wie man die cursorposition in my.settings speichern kann, wäre das auch super... später beim abfragen nimmt er selbstverständlich:

    VB.NET-Quellcode

    1. panel1.location = my.settings.cursorpos


    nicht an... ne Idee?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private WithEvents _button2 As New Button With {.Text = "Neuer Button"}
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Panel1.Controls.Add(_button2)
    5. End Sub
    6. Private Sub _button2_Click(sender As Object, e As EventArgs) Handles _button2.Click
    7. MessageBox.Show("Der im Code erstellte Button wurde gedrückt")
    8. End Sub
    9. End Class


    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    3. Dim button2 As New Button With {.Text = "Neuer Button"}
    4. AddHandler button2.Click, AddressOf NeuerButton_Click
    5. Panel1.Controls.Add(button2)
    6. End Sub
    7. Private Sub NeuerButton_Click(sender As Object, e As EventArgs)
    8. MessageBox.Show("Der im Code erstellte Button wurde gedrückt")
    9. End Sub
    10. End Class


    Mit Absicht ein Beispiel mit Buttons, ein bisschen solltest Du selber überlegen und nachlesen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    dankeee ;) jou mache kein C&P

    EDIT

    hättest du jetzt zufällig grade noch ne idee wie man die cursor position in und aus den settings bekommt?, und wie kann man mehrere events dazu bekommen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „OpferKlopfer“ ()

    Cursorposition von welchem Control? Verstehe ich nicht ganz... Bitte genauer erklären.

    Was meinst Du genau mit mehreren Events? Meinst Du unterschiedliche? Gleiche Events, die sich auf unterschiedliche Controls beziehen? Erklär alles mal ein bisschen genauer, dann kann man Dir auch richtig helfen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    wegen cursor:

    will das bei einem rechtsklick eine auswahl kommt und dann aber wenn man dann alles ausgewählt hat an der stelle wo man geklickt hat die sache erscheint... also

    VB.NET-Quellcode

    1. Private Sub Form2_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
    2. If e.Button = MouseButtons.Right Then
    3. My.Settings.AktuelleCursorPos = Cursor.Position.ToString
    4. End If
    5. End Sub


    später soll dann dort das neue panel erstellt werden:

    VB.NET-Quellcode

    1. panel.location = my.settings.aktuellecursorpos <-- was halt natürlich nicht geht


    wegen den events:

    will halt nicht nur z.b. den text, sondern auch die größe und sonst was angeben, einfach hinter den klammern noch ein with {} zu machen klappt leider nicht... muss nur das "format" wissen wie ich es schreiben muss
    Also zu der Sache mit dem "With"-Schlüsselwort.

    Das hat rein gar nichts mit Events zu tun. Du belegst damit die Properties der Instanz, die erstellt wird.

    VB.NET-Quellcode

    1. Dim button3 As New Button With {.Text = "TestButton", .Font = New Font("Arial", 33), .Size = New Size(200, 200), .Anchor = AnchorStyles.None}


    Hier wird die Text-Property, Font-Property, Size-Property und Anchor-Property festgelegt. Nicht mehr und nicht weniger. Ich glaube, dass es bei Dir noch etwas an Grundlagen fehlt, darum gibts den obligatorischen Link....

    microsoft.com/germany/msdn/akt…005dasentwicklerbuch.mspx

    Sei nicht eingeschnappt deswegen, aber wer Events und Properties nicht auseinanderhalten kann, dem fehlt es mit Sicherheit noch an Grundlagen. Aber da arbeitest Du Dich schon durch.

    Wie und was Du nun mit With steuern kannst, sollte aus dem Beispiel oben hervorgehen. Verschiedene Properties werden durch ein "," getrennt. Ich glaube, das war Deine Frage, ja?

    2. Du willst quasi ein ContextMenu, das erscheint? Der User soll auswählen zwischen verschiedenen Controls. Hat er seine Auswahl getroffen, dann soll an der Stelle, wo er geklickt hat, das gewählte Control erscheinen, verstehe ich das so richtig?

    3. Mach bitte OPTION STRICT auf ON!!!!
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o