Подскажите пожалуйста как сделать чтобы при нажатии кнопки появлялся объект(например panel) в определенной точке
Private Sub Form1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick
Dim panelToAdd As New Panel
panelToAdd.BackColor = Color.Aqua
panelToAdd.Width = 20
panelToAdd.Height = 20
panelToAdd.BorderStyle = BorderStyle.Fixed3D
panelToAdd.Top = e.Location.Y
panelToAdd.Left = e.Location.X
Me.Controls.Add(panelToAdd)
End Sub
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Add(TextBox1.Text)
Dim panelToAdd As New Panel
panelToAdd.BackColor = Color.Aqua
panelToAdd.Width = 20
panelToAdd.Height = 20
panelToAdd.BorderStyle = BorderStyle.None
panelToAdd.Top = 100
panelToAdd.Left = 100
Me.Controls.Add(panelToAdd)
как я понял они будут иметь имена panelToAdd1, panelToAdd2, panelToAdd3 ..... и т.д
как мне сделать чтобы эти панели кортые будут создаваться во время работы тоже можно было передвигать
-можно как то их сделать типа "спящими") чтобы они врубались только когда появляется объект с соответствующим именем?
-или проще сделать чтобы они создавались и уже с этими свойствами и обрабатывать их создание?
как я понял они будут иметь имена panelToAdd1, panelToAdd2, panelToAdd3 ..... и т.д
как мне сделать чтобы эти панели кортые будут создаваться во время работы тоже можно было передвигать
Ну при создании - подписать их на эвент MouseMove. Имя им давать при этом не обязательно и даже вредно.
Они же будут приходить в этот обработчик как sender - этой ссылкой на обьект и надо пользоваться - с помощью приведения типов.
Только не заставляйте меня искать как в вибишном синтаксисе делать подписку на эвент..... пожалейте мою седую глову....
:-(
:-)
Вам нужно писать UserContol.
Панелька должна показывать номер вагончика ? Должна!
В UserContol вы можете поместить и панельку, и Label, и вывести "наружу" (в виби это "Shared" ) свойство Label.Text - это позволит вам показать разный текст на каждом квадратике, при минимуме кода.
И в догонку - вот как сделаете этот проэкт на виби, так больше и не начинайте -
только шарп.
На нем все эти же вещи делать проще.
На виби просто - посчитать чего-нибудь по быстрому. Не надо особо понимать, что такое ссылка, обьект....
Но когда доходит до (а у вас уже дошло) - начинаются извращения. Виби ведь язык без стандарта, чего хотели, то и наворотили.
То есть, выбор правильного инструмента.
Простая формочка с табличкой и кнопочкой - ок, виби ....
Но вы уже управляете системой контролов, динамически их создаете....
Исходники в атаче.
Собранный пример: http://depositfiles.com/files/iy3b12nua (тут лимит на 2мб для атача)