以下所列程序的功能是:在窗体上有一个文本框控件 程序运行后 用户可以利用鼠标左键来拖动该文本框控件(

大学专科 已帮助: 时间:2023-07-21 17:58:28

以下所列程序的功能是:在窗体上有一个文本框控件,程序运行后,用户可以利用鼠标左键来拖动该文本框控件(注意:拖动时,文本框移动的距离和方向由鼠标指针移动的距离和方向来确定),按下鼠标右键则可以在文本框中显示出当前文本控件的位置。 Public yx As Integer Public yy As Integer Private Sub Form_ MouseMove(Button AS Integer,Shift As Integer,_ X As Single,Y As Single) If Button=1 Then Text1.Left=【 】 Text1.Top=【 】 End If End Sub Private Sub Form_ MouseDown (Button As Integer,Shift As Integer,_ X As Single,Y As Single) If【 】Then yx=Text1.Left-X yy=Text1.Top-Y End If If Button=2 Then Text1.Text=“X坐标:”+Str(Text1.Left)+“Y坐标:”+Str(Text1.Top) End If End Sub
请帮忙给出正确答案和分析,谢谢!

难度:⭐⭐⭐

题库:大学专科,电子信息,计算机类

标签:拖动,控件,文本框

参考解答

用户头像

482***263

2023-07-21 17:58:28

正确答案:X+yx Y+yy Button=1
在按下鼠标的时候,也即在Form_MouseDown事件过程中,首先应该要区分按下的是鼠标的左键还是右键,如果按下的是鼠标右键,则应该在文本框中显示当前文本框的位置,即当参数Button=2时,应该执行语句Text1.Text='X坐标:”+Str(Text1.Left)+'Y坐标:'+Str(Text1.Top)。因为题目要求文本框移动的距离和方向都由鼠标指针的移动距离和方向来确定,所以按下鼠标左键,在移动之前有必要记下当前文本框与鼠标指针间的相对距离(见语句yx=Text1.Left-X和yy=Text1.Top-Y),所以其前面的条件语句中的条件应该是参数Button=1。开始移动鼠标指针后,得到的X和Y的值都是当前鼠标指针所在的位置,要使得文本框相对于鼠标指针的位置不变,所以,应该给X和Y的值都加上在按下鼠标左键时鼠标指针与文本框的相对位置。

上一篇 在Visual Basic中 用于文件复制的命令是【 】。请帮忙给出正确答案和分析 谢谢!

下一篇 编写一过程将C盘中的Config.sys文件内容读出 并在文本框中显示出来。在窗体Form1上建立一

相似问题