VB.NET中右键出现新窗口的问题
??????
补充:我是一个对VB.NET一无所知的初学者,经过几天的摸索,自己做了一个自定义界面的小东东,虽然没什么功能,但还是力求完美,将自己能想到的功能,都放上去,本来就是学习嘛,能放什么功能就放什么功能,这也是一个学习的过程不是~现在想做一个这样的功能,演示图如下:
FORM1的BORDERSTYLE的属性设置为了NONE,想在途中圈住的部分,点右键后出现图中的小窗口,小窗口的BORDERSTYLE属性也是NONE,窗口都做好了。
现在就是不知道怎么实现右键时出现这个窗口,以及怎么把两个窗口连起来。
步骤可能繁琐,但我也只有这些分数了。我是自学初学者,遇到问题身边没有老师,只能求助于各位了。我想这功能在很多软件开发时都是可以用到的吧,网上我是找不到了。麻烦一下您了,谢谢。
答案:上面的回答不完美,在窗口的任意地方右击都会弹出窗口,所以要力求完美,必须先判断红框的坐标,在红框范围内再弹出窗口 If e.Button = Windows.Forms.MouseButtons.Right Then
If e.X > 153 And e.X < 601 And e.Y > 1 And e.Y < 25 Then '红框的坐标范围,在这个范围内右击有效(获取的技巧见下面)
Form2.ShowDialog()
End If
End If
小技巧:
如何获取你限定的红色框的范围?
用mousemove事件和一个label控件做测试:
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Label1.Text = e.X & "=" & e.Y
End Sub
记录下坐标即可!
写在控件的MouseDown事件里面,
Private Sub Lable1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Lable1.MouseDown
If e.Button = MouseButtons.Right Then
Form2.ShowDialog()
End If
End Sub
上一个:在哪里可以学到VB的winsock编程?
下一个:帮我看看这个VB哪里写错了