首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

看看怎么拖动这个button,调用它的click事件

2012-02-05 
各位高手看看如何拖动这个button,调用它的click事件比如在佛form_load的事件过程中添加下面的代码dimbtnas

各位高手看看如何拖动这个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

热点排行