Hej! Jag har fått en förfrågan på om det går att göra som en administrationssida i mitt program där man kan lägga till egna textboxar , knappar med kod och sånt där i ett startat program utan visual studio. Är det ens möjligt?? Jupp det går men som sagt det är lite komplicerat om man inte gjort det förr. Faktum är att de kontroller som du lägger till i Designern genererar precis den koden. ok! inte jättesvårt då kanske. Men finns det något bra sätt att lägga en knapp till exempel vart man vill än att använda förbestämda kordinater? Skulle det gå att flytta den och så? Här har du lite exempel kod som jag skrivit ihop för att visa hur man kan göra.Användaren vill lägga till egna textboxar och knappar i skapat program. går det?
man ska inte kunna göra precis vad som helst med en textbox till exempel. Det ska kanske vara en kod som hör till som man kan lägga vart man vill och bara ändra variablarna.
tacksam om någon har en idé. Känns aningen komplierat. :)Sv: Användaren vill lägga till egna textboxar och knappar i skapat program. går
För att titta på detta:
-klicka 'Show all files' (ikon ovanför ditt/dina projekt)
-Öppna noden för ett formulär, tex Form1.vb. Då visas den Form1.Designer.vb och Form1.resx
-Öppna Desginer.vb filen
Här har du nu en klass som heter 'Partial Class Form1' som är en del av Form1 klassen. Där står kod som skappar textboxar och knappar, lägger till dem till Formuläret på angen position m.m.Sv:Användaren vill lägga till egna textboxar och knappar i skapat program. går
Sv: Användaren vill lägga till egna textboxar och knappar i skapat program. går
släng in det i ett tomt formulär.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Width = 500
Me.Height = 500
Dim start As Integer = 4
Dim top As Integer = 25
Dim i As Integer
Dim mybutton(50) As Button
For i = 0 To 49
mybutton(i) = New Button()
mybutton(i).TextAlign = ContentAlignment.MiddleCenter
mybutton(i).Width = 30
mybutton(i).Height = 30
mybutton(i).FlatStyle = FlatStyle.Flat
mybutton(i).BackColor = Drawing.Color.AntiqueWhite
mybutton(i).Location = New System.Drawing.Point(start, top)
mybutton(i).Text = (i + 1).ToString
mybutton(i).Cursor = Cursors.Hand
Me.Controls.Add(mybutton(i))
AddHandler mybutton(i).Click, AddressOf mybutton_Click
start = start + 80
If (i + 1) Mod 5 = 0 Then
top = top + 40
start = 4
End If
Next
End Sub
Private Sub mybutton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim thisbutton As Button = DirectCast(sender, Button)
Dim xy As Point
xy = thisbutton.Location
xy.X += 10
xy.Y += 10
thisbutton.Location = xy
MessageBox.Show("Detta är knapp: " & thisbutton.Text)
End SubSv: Användaren vill lägga till egna textboxar och knappar i skapat program. går
MyButton.Location = New Point(newXValue, newYValue)