重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Dim g As Graphics = PictureBox1.CreateGraphics
成都创新互联是一家集网站建设,遂川企业网站建设,遂川品牌网站建设,网站定制,遂川网站建设报价,网络营销,网络优化,遂川网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
g.TranslateTransform(2, 2) ‘定义原点坐标
g.ScaleTransform(1, -1) ’X轴不变,反转Y轴
以PictureBox1中(2,2)点为新的原点(0,0)
向右为X轴正方向 向上为Y轴正方向
scale(x1,y1)-(x2,y2)
你只要记住,这里的x1,y1是左上角的坐标,x2,y2是右下角的坐标,通过这两个点的坐标设定,就可以决定坐标原点的位置以及坐标轴的方向了,比如
Scale (-300,200)-(300,-200)
以上是把坐标原点设在窗体中心,x轴长600,方向从左到右,y轴长400,方向从下向上。
Scale (800,0)-(0,600)
以上是把坐标原点设在窗体右上角,x轴长800,方向从右到左,y轴长600,方向从上向下。
下面说坐标轴和原点的标示法:
假定自定义坐标设为:
Scale (-300, 200)-(300, -200)
则
Line (-300, 0)-(300, 0) '画x轴
Line (0, 200)-(0, -200) '画y轴
CurrentX = 290
CurrentY = -5
Print "x" '标示x轴
CurrentX = 5
CurrentY = 200
Print "y" '标示y轴
CurrentX = 5
CurrentY = -5
Print "0" '标示原点
Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐标声明
Private Declare Function ScreenToClient Lib "user32.dll" (ByVal hwnd As Int32, ByRef lpPoint As POINTAPI) As Int32 '窗口坐标声明
Private Structure POINTAPI '声明坐标变量
Public x As Int32 '声明坐标变量为32位
Public y As Int32 '声明坐标变量为32位
End Structure
'以上是声明部分
'以下是窗口部分
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '用时钟控件来取坐标,窗口上放个Timer组件,Enabled为允许,周期为10到100毫秒均可
Dim P As POINTAPI '声明坐标变量
Dim xx, yy '声明转换要用到的变量
GetCursorPos(P) '获取鼠标在屏幕中的位置
ScreenToClient(Me.Handle.ToInt32, P) '转换为本窗体的坐标
xx = P.x.ToString '把X转换成能显示到文本框的字符串格式
yy = P.y.ToString '把Y转换成能显示到文本框的字符串格式
TextBox1.Text = xx + "和" + yy '文本框的内容为X坐标和Y坐标
End Sub
控件.location=New Point(X,Y)
X,Y为整数,即控件坐标,原点在窗体左上角
代码就不写了,给你思路,默认左上角是原点,所以x的位置=窗口高度-y.
这样就获得xy
复杂点的办法是重写绘制,绘制十字,
简单点的办法就是十字放到picbox或者image里,然后取中,然后隐藏,确定按钮点击显示,中心位置等于坐标点,然后换算左上角控件位置,然后设置坐标.
Button1.Location = New Point(100, 100)
或
Button1.Left = 100
Button1.Top = 100