
正文
vb.net取位,vb取数位
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在VB.net中怎么获取 鼠标在屏幕中的坐标
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
相关问答
Q1: 关于VB.net取整的问题
double是双精度 有效数值位52位 表示成指数的形式 即指数11位 即表示成
所以180.89305用2进制表示是10110100.1110010010011110111011001011111110110001010110110101
即
180.89305在double中存在的实际数值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小数点后 52位有效值后 等于10进制的180.893049999999998
所及加最后变成了 1808930.99999999998
第一次当然输出近似值1808931
第二次int函数去掉了小数点后的数int就是只取整数的部位的不是四舍五入 所以少了1
Q2: VB.NET中怎么把16进制数的最后2位取出来啊,并转换成字符串啊,
a="habcd"
if len(a)=2 then
msgbox "0" right(a,1)
else
msgbox right(a,2)
end if
Q3: VB.NET如何截取字符串最后几位
'这个当然可以,用mid 取字符串的位置长度
Dim str As String = "16461了工有6149夺中46146好31"
Label1.Text = Mid(str, str.Length - 3, 3) '取字符串最后3位数
Label2.Text = Mid(str, 1, 3) '取字符串前面3位数
Q4: 我在用VB.net做一个计算程序,遇到一个问题。一个数15563,需要取出万位和千位(1500)
dim a as integer
a=15563
万位=a\10000
千位=a\1000 mod 10
百位=a\100 mod 10
if a mod 105 then 百位+=1







