CommandButtons
6 отговора
0 прегледа
CommandButtons
Как да направя,така че като натисна на някой бутон всеки път да ми се появява нов?
Мерси предварително :)
Мерси предварително :)
Re: CommandButtons
Нов какво?
Натискането на CommandButton предизвиква събитие _Click, и можеш да пишеш код, който да се изпълни.
Щирлиц
Натискането на CommandButton предизвиква събитие _Click, и можеш да пишеш код, който да се изпълни.
Щирлиц
Re: CommandButtons
Колкото пъти натисна Командния бутон,толкова нови Командни бутони да ми се появяват във формата :))
Re: CommandButtons
преименовай твоя на cmd и му сложи индекс 0
после в клик напиши тва
Load cmd(cmd.count) ' Load new cmd.
cmd(cmd.count).Left = cmd(1).Left ' Change position.
cmd(cmd.count).Top = cmd(i - 1).Top + 600
cmd(cmd.count).Caption = "cmd "& Str(i)
cmd(cmd.count).Visible = True ' Make visible.
вместо cmd.count можеш да си сложиш ръчен брояч за индекса на новия бутон, но т'ка според мен е по-добре
после в клик напиши тва
Load cmd(cmd.count) ' Load new cmd.
cmd(cmd.count).Left = cmd(1).Left ' Change position.
cmd(cmd.count).Top = cmd(i - 1).Top + 600
cmd(cmd.count).Caption = "cmd "& Str(i)
cmd(cmd.count).Visible = True ' Make visible.
вместо cmd.count можеш да си сложиш ръчен брояч за индекса на новия бутон, но т'ка според мен е по-добре
Re: CommandButtons
Малка корекция, в твоя код си омешал някои работи, трябва да е така:
Load cmd(cmd.Count) ' Load new cmd.
cmd(cmd.Count - 1).Left = cmd(0).Left ' Change position.
cmd(cmd.Count - 1).Top = cmd(cmd.Count - 2).Top + 600
cmd(cmd.Count - 1).Caption = "cmd " & Str(cmd.Count - 1)
cmd(cmd.Count - 1).Visible = True ' Make visible.
Load cmd(cmd.Count) ' Load new cmd.
cmd(cmd.Count - 1).Left = cmd(0).Left ' Change position.
cmd(cmd.Count - 1).Top = cmd(cmd.Count - 2).Top + 600
cmd(cmd.Count - 1).Caption = "cmd " & Str(cmd.Count - 1)
cmd(cmd.Count - 1).Visible = True ' Make visible.
Re: CommandButtons
вярно прав си, а i-1 пък съвсем съм го забравил!
по лесно щеше да е да сложа x=cmd.count и да заместваме с него, хем да не бяга, хем да пишем по-малко :))
пс: Фед пак мачка!
по лесно щеше да е да сложа x=cmd.count и да заместваме с него, хем да не бяга, хем да пишем по-малко :))
пс: Фед пак мачка!
Re: CommandButtons
На кой турнир бие Федерер?
Отскоро ползвам VB 2005, и реших да пробвам същото как става в него...
Оказа се, че вече няма Index свойство и масиви от контроли, за разлика от VB6.
Ето кода, за който се интересува:
Отскоро ползвам VB 2005, и реших да пробвам същото как става в него...
Оказа се, че вече няма Index свойство и масиви от контроли, за разлика от VB6.
Ето кода, за който се интересува:
Public Class Form1
Dim num As Integer
Private Function FindControl( _
ByVal ControlName As String, _
ByVal CurrentControl As Control) As Control
For Each ctr As Control In CurrentControl.Controls
If ctr.Name = ControlName Then
Return ctr
Exit Function
End If
Next ctr
Return Me
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyStr As String
MyStr = "Button" & Format(num)
MessageBox.Show(MyStr)
Dim Button2 As New Button
' Set the location below the first TextBox
Button2.Left = DirectCast(FindControl(MyStr, Me), Button).Left
Button2.Top = DirectCast(FindControl(MyStr, Me), Button).Top + 30
Button2.Name = "Button" & Format(num + 1)
Button2.Text = "Button" & Format(num + 1)
' Add the TextBox to the form's Controls collection.
Me.Controls.Add(Button2)
AddHandler Button2.Click, AddressOf Button1_Click
num = num + 1
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
num = 1
End Sub
End Class