Foxtable(狐表)用户栏目专家坐堂 → [求助]我怎样才能让他不执行清空啊。气死了


  共有3369人关注过本帖树形打印复制链接

主题:[求助]我怎样才能让他不执行清空啊。气死了

帅哥哟,离线,有人找我吗?
zto001
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1465 积分:10397 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2021/3/4 17:53:00 [只看该作者]

全局代码5
'【】消除边框
Public myform1 As System.Windows.Forms.Form

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
Public Declare Function ReleaseCapture Lib "user32" () As Integer

Public Const BorderWidth As Integer = 6
Public _resizeDir As ResizeDirection = ResizeDirection.None

Public Enum ResizeDirection
None = 0
Left = 1
TopLeft = 2
Top = 3
TopRight = 4
Right = 5
BottomRight = 6
Bottom = 7
BottomLeft = 8
End Enum


Public Property resizeDir() As ResizeDirection
Get
Return _resizeDir
End Get
Set(ByVal value As ResizeDirection)
_resizeDir = value

'Change cursor
Select Case value
    Case ResizeDirection.Left
        myform1.Cursor = System.Windows.Forms.Cursors.SizeWE
        
    Case ResizeDirection.Right
        myform1.Cursor = System.Windows.Forms.Cursors.SizeWE
        
    Case ResizeDirection.Top
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNS
        
    Case ResizeDirection.Bottom
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNS
        
    Case ResizeDirection.BottomLeft
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNESW
        
    Case ResizeDirection.TopRight
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNESW
        
    Case ResizeDirection.BottomRight
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNWSE
        
    Case ResizeDirection.TopLeft
        myform1.Cursor = System.Windows.Forms.Cursors.SizeNWSE
        
    Case Else
        myform1.Cursor = System.Windows.Forms.Cursors.Default
End Select
End Set
End Property

Public Const WM_NCLBUTTONDOWN As Integer = &HA1
Public Const HTBORDER As Integer = 18
Public Const HTBOTTOM As Integer = 15
Public Const HTBOTTOMLEFT As Integer = 16
Public Const HTBOTTOMRIGHT As Integer = 17
Public Const HTCAPTION As Integer = 2
Public Const HTLEFT As Integer = 10
Public Const HTRIGHT As Integer = 11
Public Const HTTOP As Integer = 12
Public Const HTTOPLEFT As Integer = 13
Public Const HTTOPRIGHT As Integer = 14


Public Sub MoveForm()
ReleaseCapture()
SendMessage(myform1.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End Sub

Public Sub ResizeForm(ByVal direction As ResizeDirection)
Dim dir As Integer = -1
Select Case direction
    Case ResizeDirection.Left
        dir = HTLEFT
    Case ResizeDirection.TopLeft
        dir = HTTOPLEFT
    Case ResizeDirection.Top
        dir = HTTOP
    Case ResizeDirection.TopRight
        dir = HTTOPRIGHT
    Case ResizeDirection.Right
        dir = HTRIGHT
    Case ResizeDirection.BottomRight
        dir = HTBOTTOMRIGHT
    Case ResizeDirection.Bottom
        dir = HTBOTTOM
    Case ResizeDirection.BottomLeft
        dir = HTBOTTOMLEFT
End Select

If dir <> -1 Then
    ReleaseCapture()
    SendMessage(myform1.Handle, WM_NCLBUTTONDOWN, dir, 0)
End If
End Sub


Public Sub myform1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
If e.Button = System.Windows.Forms.MouseButtons.Left And myform1.WindowState <> System.Windows.Forms.FormWindowState.Maximized Then
    ResizeForm(resizeDir)
End If
End Sub

Public Sub myform1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) 
'Calculate which direction to resize based on mouse position

If e.Location.X < BorderWidth And e.Location.Y < BorderWidth Then
    resizeDir = ResizeDirection.TopLeft
    
ElseIf e.Location.X < BorderWidth And e.Location.Y > myform1.Height - BorderWidth Then
    resizeDir = ResizeDirection.BottomLeft
    
ElseIf e.Location.X > myform1.Width - BorderWidth And e.Location.Y > myform1.Height - BorderWidth Then
    resizeDir = ResizeDirection.BottomRight
    
ElseIf e.Location.X > myform1.Width - BorderWidth And e.Location.Y < BorderWidth Then
    resizeDir = ResizeDirection.TopRight
    
ElseIf e.Location.X < BorderWidth Then
    resizeDir = ResizeDirection.Left
    
ElseIf e.Location.X > myform1.Width - BorderWidth Then
    resizeDir = ResizeDirection.Right
    
ElseIf e.Location.Y < BorderWidth Then
    resizeDir = ResizeDirection.Top
    
ElseIf e.Location.Y > myform1.Height - BorderWidth Then
    resizeDir = ResizeDirection.Bottom
    
Else
    resizeDir = ResizeDirection.None
End If
End Sub

全局代码6
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As IntPtr, ByVal lParam As Byte()) As Integer
Public Const EM_SETCUEBANNER As Integer = &H1501
Public Sub SetWatermark(wTextBox As winform.textbox,str As String)
SendMessage(wTextBox.BaseControl.Handle, EM_SETCUEBANNER, IntPtr.Zero, System.Text.Encoding.Unicode.GetBytes(str))
End Sub

 回到顶部
帅哥,在线噢!
有点蓝
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106163 积分:539932 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 20:34:00 [只看该作者]

部分是属于消息控制的用法,有可能的。去掉测试一下不就知道了

 回到顶部
总数 22 上一页 1 2 3