各位高手看看如何拖动这个button,调用它的click事件
比如在佛form_load的事件过程中添加下面的代码
dim btn as new button()
btn.text = "拖动 "
btn.location= new point(100,100)
me.controls.add(btn)
运行时,我想能够拖动这个button,
这个button的click事件不知道如何触发,
比如点击这个button弹出messagebox显示其坐标
[解决办法]
获取坐标的话可以
Private Sub Button1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Move
MessageBox.Show(Me.Button1.Left)
MessageBox.Show(Me.Button1.Top)
End Sub
如果通过鼠标位置的话,可以参考下面的代码
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim pt As New Point(e.X, e.Y)
Dim hti As DataGrid.HitTestInfo = Me.HitTest(pt)
If hti.Type = HitTestType.ColumnHeader AndAlso hti.Column = 1 Then
'don 't sort col 1
Return 'don 't call baseclass
End If
MyBase.OnMouseDown(e)
End Sub 'OnMouseDown
End Class 'MyDataGrid
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx
[解决办法]
click不就是把MOUSE按一下吗?分解起来不就是一下一上?你把DOWN定义成移动了.那把UP定义成click的事件内容不就好了?你的要求在C里相当容易~~~~~~~~
[解决办法]
Public Class Form1
Dim WithEvents btn As Button
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn As New Button()
btn.Text = "拖动 "
btn.Location = New Point(100, 100)
Me.Controls.Add(btn)
AddHandler btn.Click, AddressOf btn_Click '制定一个处理程序
End Sub
Private Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn.Click
MsgBox( "HI ")
End Sub
End Class