Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)里的三个参数source、X、Y各代表什么意思?

happyjessica happyjessica 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)里的三个参数source、X、Y各代表什么意思?
...全文

相关推荐

餐馆:Jogo resta 1,contémapenas 13 linhas decódigo:)

餐馆 Jogo resta 1,contémapenas 13 linhas decódigo:) Private Sub imgGoti_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single) If (imgGoti(Index).Picture <> 0) _ Or Abs(Source.Index - Index) <> 2 _ And Abs(Source.Index - Index) <> 20 Then Exit Sub End If If (imgGoti(Source.Index - ((Source.Index - Index) / 2)).Picture = 0) Then Exit Su

dahiod

C#界面里的AllowDrop属性、DragDrop和DragEnter事件

当一个文件从一个窗口拖动到另一个窗口的过程,需要经历几个状态,第一个就是原窗口里拖动时,显示为一个拖动的图标,在软件开发里,使用到拖放功能的还是比较少见一些,因为开发的难度比较大,并且大家也不太熟悉,如果有这样一个功能,可以让用户直接拖文件到窗口,就给上传, 这样就会更加方便。接着拖动的过程中碰到另一个窗口时,就需要响应拖动进入事件,如果没有这个事件,下面的例子,就把窗口AllowDrop的修改为true,打开允许拖放。要实现这样的功能,就得理解拖放功能启用,以及拖放的事件响应。但是使用起来就比较方便。

caimouse

精彩编程与编程技巧-用VB实现拖放功能...

精彩编程与编程技巧-用VB实现拖放功能 ...

求伯乐

vb 控件参考手册(PDF)

实用参考手册,不是老用VB编程的人不用记那么多罗嗦的参数和属性啦。

angelghostking

VB版数字排序拼图小游戏

VB版数字排序拼图小游戏 Option Explicit Dim Label2X As Integer '记录标签控件数组中要移动的标签控件左上角X的位置 Dim Label2Y As Integer '记录标签控件数组中要移动的标签控件左上角Y的位置 '让标签数组中的每个标签控件上显示的数字是随机的,无重复的 Private Sub Init() Randomize Dim a(7) As Integer Dim i As Integer, k As Integer Label1.Caption = "" For i = 0 To 7 a(i) = i Next For i = 0 To 7 k = Int(Rnd * 8) Do While a(k) = -1 'a(k)=-1表示该数组元素对应的数字已经被使用过了 k = Int(Rnd * 8) '重新生成k的值,直到a(k)的值不等于-1 Loop Label2(i).Caption = Trim(Str(a(k))) a(k) = -1 'a(k)的值已经使用了,不能再用,重新赋值为-1与其他的元素值相区别 Next i End Sub Private Sub cb_Click() MsgBox "欢迎观临 陈彬 020901033" End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer Dim z As Integer Init Picture1.Enabled = True '让空白标签Label1出现的位置随机 Randomize '记录下空白标签Label1的位置 x = Label1.Left y = Label1.Top z = Int(Rnd * 8) '将空白标签Label1和标签控件数组任一控件交换位置 Label1.Move Label2(z).Left, Label2(z).Top Label2(z).Move x, y Command1.Enabled = False End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Dim i As Integer Picture1.Enabled = False '在标签中显示游戏说明信息 Label3.Caption = "如左图所示,将数字按0-7顺" & vbCrLf & vbCrLf & "序依次排列,即取得胜利。" '在标签中显示排列规则后的数字顺序 Label1.Caption = 0 For i = 0 To 6 Label2(i).Caption = i + 1 Next End Sub Private Sub Label1_DragDrop(Source As Control, x As Single, y As Single) Dim Label1X As Integer '记录空白控件Label1左上角X的位置 Dim Label1Y As Integer '记录空白控件Label1左上角Y的位置 Dim flag(3) As Boolean '获取空白控件Label1的位置 Label1X = Label1.Left Label1Y = Label1.Top '要移动的控件位于空白控件Label1的正左侧 flag(0) = (Label2X = Label1X - Source.Width) And (Label2Y = Label1Y) '要移动的控件位于空白控件Label1的正右侧 flag(1) = (Label2X = Label1X + Source.Width) And (Label2Y = Label1Y) '要移动的控件位于空白控件Label1的正上方 flag(2) = (Label2X = Label1X) And (Label2Y = Label1Y - Source.Height) '要移动的控件位于空白控件Label1的正下方 flag(3) = (Label2X = Label1X) And (Label2Y = Label1Y + Source.Height) If flag(0) Or flag(1) Or flag(2) Or flag(3) Then Label1.Move Label2X, Label2Y Source.Move Label1X, Label1Y End If Win End Sub Private Sub Label2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbLeftButton Then '如果按下鼠标左键 '记录下要拖动控件的位置 Label2X = Label2(Index).Left Label2Y = Label2(Index).Top Label2(Index).Drag 1 '启动拖动操作 End If End Sub Private Sub Label2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Label2(Index).Drag 2 '结束拖动操作 End Sub Private Sub Win() Dim winner As Integer Dim i As Integer Dim answer As Integer '对于给定的标签控件数组中的任一标签控件,可以落在符合要求(对应位置应显示对应数字) '的八个位置中的任一位置 '利用循环语句对标签控件数组中的每个标签控件进行检查,如果其落在某一符号要求的位置, '则变量winner的值加1,如果所有标签控件都落在符号要求的位置,则变量winner的值应为8 For i = 0 To 7 If Label2(i).Left = 0 And Label2(i).Top = 0 And _ Label2(i).Caption = 0 Then winner = winner + 1 ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = 0 And _ Label2(i).Caption = 1 Then winner = winner + 1 ElseIf Label2(i).Left = 2 * Label2(i).Width And Label2(i).Top = 0 And _ Label2(i).Caption = 2 Then winner = winner + 1 ElseIf Label2(i).Left = 0 And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 3 Then winner = winner + 1 ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 4 Then winner = winner + 1 ElseIf Label2(i).Left = 2 * Label2(i).Width And Label2(i).Top = Label2(i).Height And _ Label2(i).Caption = 5 Then winner = winner + 1 ElseIf Label2(i).Left = 0 And Label2(i).Top = 2 * Label2(i).Height And _ Label2(i).Caption = 6 Then winner = winner + 1 ElseIf Label2(i).Left = Label2(i).Width And Label2(i).Top = 2 * Label2(i).Height And _ Label2(i).Caption = 7 Then winner = winner + 1 End If Next i If winner = 8 Then MsgBox " 恭喜您,胜利了!", 0 + 64 + 0, "提示" Picture1.Enabled = False answer = MsgBox("还继续吗?", 4 + 32 + 0, "提示") If answer = vbYes Then Command1.Enabled = True Else End End If End If End Sub

migge123456
评论 2
收藏 已收藏
分享
返回顶部
happyjessica
VB基础类 7,788 成员 197,583 内容