精华内容
下载资源
问答
  • vb.net的dll怎么给form里设值还有光标…还有一些属性的改变…求高手帮忙…
  • form里面申明xx和yy,然后通过form里面的time进行累加,在模块里面用yy读xx的数值,然后在form里面将yy的值乘以2后送到text1里面。 以下是form内代码: Dim xx As String Dim yy As String Private Sub Form...
  • NO.1使用VBA代码添加Form窗体表单,对于一些初学者来说,似乎真的很为难。除了对代码陌生之外,并不知道如何来进行操作添加后的窗体。这也是一件十分困扰的事情。本节将介绍一下,使用vba代码添加窗体,然后在窗体上...

    NO.1

    使用VBA代码添加Form窗体表单,对于一些初学者来说,似乎真的很为难。

    除了对代码陌生之外,并不知道如何来进行操作添加后的窗体。

    这也是一件十分困扰的事情。

    本节将介绍一下,使用vba代码添加窗体,然后在窗体上添加控件,如标签按钮等等方法。

    e5c39c6f28c8397c09d33070fe2b19a4.png

    NO.2

    vba中 VBComponents 集合里包含了模块、窗体、类模块。

    添加窗体就用到VBComponents.Add()来进行操作。

    如:

    ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)

    表示添加一个窗体。

    其中vbext_ct_MSForm参数,表示将窗体添加到集合。

    类模块vbext_ct_ClassModule 标准模块vbext_ct_StdModule。

    新建表单后,运行程序什么也看不到,还需要对表单进行属性设置。

    这就是像是盖一栋大楼,只是做了大楼的一个工程设计,仅仅是立项要盖这栋大楼,而没有真正实施盖楼的过程。

    所以,名义上的新建了这栋楼,但其并没有变成实际意义上的大楼。

    感觉有点不可接受,不管怎么说,以上代码并不能让你看到新建的窗体。

    接下来,要对窗体进行一些属性设置,就是说要真正的施工对进入工地盖楼了。

    设置窗体属性,要用到Properties()。中文意思就是不动产、财产、所有物等等。

    Properties()括号里添加窗体属性名称,然后等于号,属性值。

    这样才能够对新建的Form窗体进行实体化赋值。

    如下代码:

    .Properties("caption") ="我是新建窗体"'窗体标签.Properties("width") = 900'宽.Properties("Height") = 600'高

    更多窗体属性可查询帮助。

    2eea5bc3f613fb86e22262f876850b84.png

    上图为例,将对表格内容作为新建表单的标题名称、宽、高,包括窗体里的标签名称和按钮进行自定义设置。

    NO.3

    添加窗体之后不是我们的初衷,因为窗体只是一个容器,我们要往里面放很多东西。

    这就像大楼主体已经完工,但是不能住人呀,四面没有窗户,也没有各类消防设施,更没有电梯,那么,这就是说,并没有完全得到我们想要的大楼样子。

    还要对大楼进行配套设施的安装。

    添加标签

    那我们再加一个标签吧,就像在大楼顶上安装一个XXX小区的名称,是不是有点意思了。

    添加标签代码:

    With ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Designer.Controls.Add("Forms.Label.1")End With

    由于新建的窗体还处在编辑模式下,所以不能直接引用Controls.Add(),要在其前面加Designer。

    Designer中文意思就"设计师"。看到了吧,整个过程当中,不能以一种既定的事实来对待这件事情。

    就像不能对一栋在建的大楼以成熟小区来对待一样,不能随意进出,也不能以为它是一个有人住的地方,真正意义上它还是不算是一个小区。

    只有交付使用之后,才能作为一个正常的对象来对待。

    所以,要特别注意的地方在对表单里的对象进行属性设置的时候,前面添加"设计师"Designer。

    示例:

    默认F为新建的窗体对象。

    Dim Lobj As Object        Set Lobj = F.Designer.Controls.Add("Forms.Label.1")         With Lobj            .Caption = "恭喜!你已经成功新建了一个表单窗体。"            .Top = 50            .Left = 0            .Height = 90            .Width = .Parent.Width            .TextAlign = 2                    With .Font                        .Size = 28                        .Name = "黑体"                        .Bold = True                     End With        End With

    添加按钮

    同理,添加按钮用如下代码:

    With ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm) .Designer.Controls.Add("Forms.CommandButton.1")End With

    NO.4

    显示窗体

    如此进行,对代码细致的编写之后,构造整个表单的过程就完成了。

    但是,我们还是不能看到它的模样,因为没有把它呈现在眼前。

    就比如,在北京盖了一栋大楼,而你在广州。

    想要看到这楼,是不是有两个办法,一你亲自来北京,站到大楼下面,二给大楼拍个视频,通过视频信息传输设备观看。

    这就是说,这楼是盖好了,在你看到它之前,还有一些方法去完成,不然,真的难说这楼是个什么样子。

    说了这么多,编程就是这么玄乎,真真假假,假假真真,要抓到代码表示的实际东西,还真不是一件轻松的事情。

    我们接着就是要把窗体呈现在电脑屏幕上,让自己或别人看到它,而不只是某种意义上的代码构造完成这种玄乎的事情。

    显示出来也需要一行代码,也十分简单一行代码,如下:

    F默认新建的窗体对象

    VBA.UserForms.Add(F.Name).Show

    运行后效果如下图

    d761a1fc7e51b9b7b18a4da7f4cfff53.png

    是不是完整了一些,如不添加标签和按钮,那么什么也没有。

    这样新建后的表单就有了更多的内容。

    NO.5

    删除窗体

    最后一步删除窗体,这个不提倡使用,但要学会使用。

    F为默认新建窗体对象变量。

    ThisWorkbook.VBProject.VBComponents.Remove F

    这句意思是从VBComponents集合中移除F窗体。

    这个不能用大楼来比喻,没有移除大楼的过程,而且操作起来也太困难,也现实中最大把设计图纸销毁,完成移除。

    35f3b4a84ba21dd31802cf7849b93c20.png

    NO.6

    完整代码

    以上代码可作为学习之用,以下偌直接复制到自己的VBE窗体中使用即可。

    新建窗体过程函数

    Private Sub AddNewForm()Dim w As WorksheetSet w = ActiveSheetDim F As ObjectSet F = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)    With F        .Properties("caption") ="我新建的表单窗体"        .Properties("width") =900        .Properties("Height") = 600        Dim Lobj As Object        Set Lobj = F.Designer.Controls.Add("Forms.Label.1")         With Lobj            .Caption = "恭喜!" & VBA.vbCrLf & VBA.vbCrLf & "你已经成功新建了一个表单窗体。"            .Top = 50            .Left = 0            .Height = 90            .Width = .Parent.Width            .TextAlign = 2            With .Font                .Size = 28                .Name = "黑体"                .Bold = True             End With          End With          With F.Designer.Controls.Add("Forms.CommandButton.1")            .Caption = "关 闭"            .Width = 150            .Height = 28            .Top = Lobj.Top + Lobj.Height + 50            .Left = .Parent.Width  2 - .Width  2          End With    ''''''''''''''''''''''''''''''''''''''''''' Button按钮 CodeModule    With ThisWorkbook.VBProject.VBComponents(F.Name).CodeModule        .InsertLines 2, "Private Sub CommandButton1_Click()"        .InsertLines 3, "Unload me"        .InsertLines 4, "End Sub"    End With            End With        VBA.UserForms.Add(F.Name).Show    ThisWorkbook.VBProject.VBComponents.Remove FEnd Sub

    NO.7

    学习VBA,从0开始构造一个应用界面,十分不好掌握其中一些代码应用。

    有些代码在编辑过程中会遇到很多问题,同时也会增加许多不明白的问题,需要一一解决。

    本身VBA已经给出很多常用的一些对象,直接拿来使用就可以,但是对于喜欢结构编程方法的人来说,面向对象真的是小儿科。

    怎么办呢,呵呵!努力吧!

    ---END---

    欢迎关注、收藏

    展开全文
  • VBForm直接生成DCL对话框程序极其调用的LSP文件 能自动对DCL对话框中的参数进行读取和赋值,并输出 使用步骤: 一、在VB中绘制好表单Form 注意:排列的时候尽量一行的Top坐标相同,这样能保证在同一行 二、将...
  • 用frm.sms_TextBox1.Text 返回的居然是空的,其实是有数值的
  • 在MS.NET架构Form是一个经常使用到的词汇。比如:编写Windows 应用时会提到Windows Form,编写Web 应用时会提到Web Form。Windows Form可以看作一个Windows窗体,这和在VB里面一样。而Web Form则代表了一个一个...
  • 我在form1操作,按下按钮,就把form2整个窗口变图片保存到text5的位置。text5就是那个路径、 而文件名就用form2的 label1的名字 谢谢 求个码,我是新手希望好理解的,谢谢各位
  • 我从另外一个项目加入进来 ![图片说明](https://img-ask.csdn.net/upload/201905/06/1557120975_807654.jpg) 加入进来之前,都变空了 ![图片说明]...
  • 对了,普通的点击事件是没问题,可能我的代码是写在 Form1_Load 里面的 调用的 方法,就出现了上述的问题。没激活成功,就在任务栏闪啊闪。 SetForegroundWindow()也用过。。效果一样。唉
  • 百度百科说的窗口,实际上适用于Form/控件 常规方法能获得的准确值: 【Form】在屏幕中的位置及尺寸:(100,100,839,390) 【Form】的客户区坐标系:(0,0)-(823,351) 【控件】在客户区坐标系中的位置及尺寸:(80,40,...

    网上查了半天都没有讲清楚,为什么都喜欢把Form的坐标搞成(0,0),特例是不能当通用方法来用的,随意摆放的位置才有比对学习的价值。系统地学习、测试了一下,弄明白了。

    百度百科里说的窗口,实际上适用于Form/控件

    目录

    一.常规方法能获得的准确值

    二.API方法能做到的什么

    1.针对Form

    2.针对控件

    三.常见API应用举例

    1.怎样获取任一控件的尺寸,及在其容器对象中的坐标

    (1)入门思路

    (2)归纳为一条标准化的套路

    (3)再精进一步

    2.待续...

    四.关于API函数MoveWindow()


    一.常规方法能获得的准确值

    【Form】在屏幕中的位置及尺寸:(100,100,839,390)
    【Form】的客户区坐标系:(0,0)-(823,351)
    【控件】在客户区坐标系中的位置及尺寸:(80,40,97,46)

    二.API方法能做到的什么

    1.针对Form

    【Form】在屏幕坐标系中的位置及尺寸:(100,100,939,490)
    【Form】的客户区坐标系:(0,0,823,351)
    将屏幕坐标系中的点p(0,0)转换为【Form】的客户区坐标:(-108,-131)
    将【Form】的客户区坐标系中的点p(0,0)转换为屏幕坐标:(108,131)

    2.针对控件

    【控件】在屏幕坐标系中的位置及尺寸:(188,171,285,217)
    【控件】的客户区坐标系:(0,0,97,46)
    将屏幕坐标系中的点p(0,0)转换为【控件】客户区坐标:(-188,-171)
    将【控件】的客户区坐标系中的点p(0,0)转换为屏幕坐标:(188,171)

    相应代码如下:

    Option Explicit
    
    '获取指定窗口(Form/控件)的位置及尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
    Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
    
    '获取窗口(Form/控件)客户区的坐标系。客户区坐标指定客户区的左上角和右下角,即(0,0)-(ScaleWidth,ScaleHeight)。
    Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
    
    '将屏幕坐标系中的点转换为客户区坐标
    Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
    
    '将客户区坐标系中的点转换为屏幕坐标
    Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
    
    '给RECT变量赋值
    Private Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    
    Private Type RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End Type
    Private Type POINTAPI
            X As Long
            Y As Long
    End Type
    
    Private Sub Form_Load()
        Dim rec As RECT
        Dim recWin1 As RECT, recCli1 As RECT, recWin2 As RECT, recCli2 As RECT, p As POINTAPI
        
        Me.Move 100 * Screen.TwipsPerPixelX, 100 * Screen.TwipsPerPixelY
        Command1.Move 80, 40
        
        '常规方法能获得的准确值
        addLog3 "常规方法能获得的准确值", ""
        SetRect rec, toX(Me.Left), toY(Me.Top), toX(Me.Width), toY(Me.Height)
        addLog "【Form】在屏幕中的位置及尺寸", rec
        addLog3 "【Form】的客户区坐标系", "(0,0)-(" & Me.ScaleWidth & "," & Me.ScaleHeight & ")"
        SetRect rec, Command1.Left, Command1.Top, Command1.Width, Command1.Height
        addLog "【控件】在客户区坐标系中的位置及尺寸", rec, True
        
        '下面是API方法能做到的
        addLog3 "下面是API方法能做到的", ""
        '1.针对Form
        addLog3 "一.针对Form", ""
        '获取【Form】在屏幕坐标系中的位置及尺寸
        GetWindowRect Me.hwnd, recWin1
        addLog "【Form】在屏幕坐标系中的位置及尺寸", recWin1
        
        '获取【Form】的客户区坐标系
        GetClientRect Me.hwnd, recCli1
        addLog "【Form】的客户区坐标系", recCli1
        
        '将屏幕坐标系中的点p(0,0)转换为客户区坐标
        p.X = 0: p.Y = 0
        ScreenToClient Me.hwnd, p
        addLog2 "将屏幕坐标系中的点p(0,0)转换为【Form】的客户区坐标", p
        
        '将客户区坐标系中的点p(0,0)转换为屏幕坐标
        p.X = 0: p.Y = 0
        ClientToScreen Me.hwnd, p
        addLog2 "将【Form】的客户区坐标系中的点p(0,0)转换为屏幕坐标", p, True
        
        '2.针对控件
        addLog3 "二.针对控件", ""
        '获取【控件】在屏幕坐标系中的位置及尺寸
        GetWindowRect Command1.hwnd, recWin1
        addLog "【控件】在屏幕坐标系中的位置及尺寸", recWin1
        
        '获取【控件】的客户区坐标系
        GetClientRect Command1.hwnd, recCli1
        addLog "【控件】的客户区坐标系", recCli1
        
        '将屏幕坐标系中的点p(0,0)转换为【控件】的客户区坐标
        p.X = 0: p.Y = 0
        ScreenToClient Command1.hwnd, p
        addLog2 "将屏幕坐标系中的点p(0,0)转换为【控件】客户区坐标", p
        
        '将【控件】客户区坐标系中的点p(0,0)转换为屏幕坐标
        p.X = 0: p.Y = 0
        ClientToScreen Command1.hwnd, p
        addLog2 "将【控件】的客户区坐标系中的点p(0,0)转换为屏幕坐标", p, True
    End Sub
    
    Private Function toX(X As Long)
        toX = X / Screen.TwipsPerPixelX
    End Function
    Private Function toY(Y As Long)
        toY = Y / Screen.TwipsPerPixelY
    End Function
    Private Sub addLog(sTitle, rec As RECT, Optional dblcrlf As Boolean)
        With rec
            Text1.Text = Text1.Text & sTitle & ":(" & .Left & "," & .Top & "," & .Right & "," & .Bottom & ")" & vbCrLf & IIf(dblcrlf, vbCrLf, "")
        End With
    End Sub
    Private Sub addLog2(sTitle, p As POINTAPI, Optional dblcrlf As Boolean)
        With p
            Text1.Text = Text1.Text & sTitle & ":(" & .X & "," & .Y & ")" & vbCrLf & IIf(dblcrlf, vbCrLf, "")
        End With
    End Sub
    Private Sub addLog3(sTitle, log As String, Optional dblcrlf As Boolean)
        Text1.Text = Text1.Text & sTitle & ":" & log & vbCrLf & IIf(dblcrlf, vbCrLf, "")
    End Sub
    

    三.常见API应用举例

    1.怎样获取任一控件的尺寸,及在其容器对象中的坐标

    题意:已知一个控件的句柄,求其尺寸及在其容器对象中的坐标
    代表性:可求任意控件的相对坐标及其尺寸,只要有句柄就可以
    应用场景:在界面控制中,有时需要将某个控件从容器A搬到容器B中显示,最后还能搬回到容器A中,这时就需要在控件搬离容器A前记住控件在容器A中的位置。如果该控件是自定义控件,事先是不知道它被置于什么容器里的,这种情况下求控件在其容器中的坐标,常规方法是有困难的,如容器客户区坐标系的单位不能指望是统一的,什么时候需要转换,怎样转换都是难题,再比如该容器可能没暴露句柄属性,使用API就受到限制。

    以上面的示例为例,Command1的容器对象是Form1,这里用API来求一下Command1在Form1中的坐标及尺寸

    (1)入门思路

    第一步:求Command1的屏幕坐标

    Dim recWin As RECT
    GetWindowRect Command1.hwnd, recWin

    变量recWin即为矩形CDEF在屏幕坐标系A中位置,C点坐标为(recWin.Left,recWin.Top),E点坐标为(recWin.Right,recWin.Bottom),
    所以,Command1的尺寸为:
    宽度=recWin.Right-recWin.Left
    高度=recWin.Bottom-recWin.Top

    但recWin描述的是Command1的屏幕坐标,我们需要的是Command1在Form1客户区中的坐标,明显,需要用ScreenToClient()做坐标转换。下面将C点的屏幕坐标转换为Form1客户区中的坐标。

    Dim C As POINTAPI
    C.X = recWin.Left
    C.Y = recWin.Top
    ScreenToClient Form1.hwnd, C

    这样我们就得到了C点在From1客户区中的坐标,也就是Command1在Form1客户区中的坐标,即
    Command1的左上角坐标=(C.X,C.Y)

    (2)归纳为一条标准化的套路

    上面的求法有点晦涩,不如直接将C点和E点的屏幕坐标转换都转换成在Form1客户区中的坐标,我们用一个RECT变量来存储,赋予其含义为控件在Form1客户区中的矩形坐标,更便于理解、存储、作为参数传递,形成形式化的套路,就记得牢靠了。代码如下:

    '功能:获取一个控件在某容器客户区中矩形坐标
    '参数:ctlHwnd,控件句柄;clientHwnd:容器句柄
    Private Function GetCtlRect(ctlHwnd As Long, clientHwnd As Long) As RECT
        '获取控件的屏幕坐标
        Dim recWin As RECT
        GetWindowRect ctlHwnd, recWin
        
        '将C点的屏幕坐标转换为客户区坐标
        Dim C As POINTAPI
        C.X = recWin.Left
        C.Y = recWin.Top
        ScreenToClient clientHwnd, C
        
        '将E点的屏幕坐标转换为客户区坐标
        Dim E As POINTAPI
        E.X = recWin.Right
        E.Y = recWin.Bottom
        ScreenToClient clientHwnd, E
        
        '将控件矩形的客户区坐标收容到RECT存储起来
        Dim recForm As RECT
        SetRect recForm, C.X, C.Y, E.X, E.Y
        
        GetCtlRect = recForm
    End Function
    
    Private Sub Command2_Click()
        Dim rec As RECT
        rec = GetCtlRect(Command1.hwnd, Form1.hwnd)
        
        addLog "Command1在Form1客户区中的坐标", rec, True
    End Sub

    (3)再精进一步

    有些容器对象没有暴露其句柄属性的,又当怎样求控件在父容器客户区中的矩形坐标呢?实际上,我们要解决的是怎样得到容器的句柄,可用另一个API函数——GetParent(),上述代码演变成如下:

    '获取父容器的句柄
    Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    
    Private Sub Command2_Click()
        Dim rec As RECT
        rec = GetCtlRect(Command1.hwnd, GetParent(Command1.hwnd))
        
        addLog "Command1在Form1客户区中的坐标", rec, True
    End Sub

    2.待续...

     

    四.关于API函数MoveWindow()

    '挪动控件/窗口
    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long

    要强调的是,这个挪动是指在被挪动对象的父容器中挪动,即调用API的坐标参数是参照父容器客户区坐标系的描述。这是特定的,不能想入非非,哪儿哪儿瞎用。

    展开全文
  • VB里面的Line方法的具体使用方法

    千次阅读 2016-11-14 17:44:12
    Form1.Line (1, 1)-(2000, 2000)--------------画线 Form1.Line (1, 1)-(2000, 2000), , B---------画空心矩形 Form1.Line (1, 1)-(2000, 2000), , BF-------画实心矩形 line 方法 在对象上画直线和矩形。 语法 ...
    你试下,简单的例子
    Form1.Line (1, 1)-(2000, 2000)--------------画线
    Form1.Line (1, 1)-(2000, 2000), , B---------画空心矩形
    Form1.Line (1, 1)-(2000, 2000), , BF-------画实心矩形
    
    line 方法 
    在对象上画直线和矩形。 
    语法 
    object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F] 
    Line 方法的语法有以下对象限定符和部分: 
    部分 描述 
    object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。 
    Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。 
    (x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。 
    Step 可选的。关键字,指定相对于线的起点的终点坐标。 
    (x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。 
    color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。 
    B 可选的。如果包括,则利用对角坐标画出矩形。 
    F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。 
    说明 
    画联结的线时,前一条线的终点就是后一条线的起点。 
    线的宽度取决于 DrawWidth 属性值。在背景上画线和矩形的方法取决于 DrawMode 和 DrawStyle 属性值。 
    执行 Line 方法时, CurrentX 和 CurrentY 属性被参数设置为终点。 
    这个方法不能用于With...End With 语句块。
    展开全文
  • form method="post"> <input.... <input.... ..... <form> 上面就是截取的内容, 我利用 <form[^>]*>.*? 只能获取<form method="post"> ,不知道如何得到多行的,帮忙下,...
  • WindowsForm登陆窗体的制作(Vb.net+Access)

    千次阅读 2007-08-30 10:30:00
    WindowsForm登陆窗体的制作(Vb.net+Access) CSDN论坛中VB经常见到一些朋友问到关于登陆的问题,这篇文章专门为初学的朋友提供一些帮助,当然希望有更好办法的高手给予指点。 首先 文件→新建→项目 选择windows...

    WindowsForm登陆窗体的制作(Vb.net+Access)

     

         CSDN论坛中VB版里经常见到一些朋友问到关于登陆的问题,这篇文章专门为初学的朋友提供一些帮助,当然希望有更好办法的高手给予指点。

           首先 文件→新建→项目 选择windows应用程序

     并在窗体上添加2个label控件、2个textbox控件、2 个buton控件如下图(1-1):

    界面设计好后在button的click事件中写入代码如下:

    (在程序顶部引用Imports System.Data.OleDb)

        Private Sub BOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BOk.Click
            '定义
            Dim olecn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb")
            Dim olecm As New OleDbCommand("select * from Login", olecn)
            Dim olead As New OleDbDataAdapter
            Dim olerd As OleDbDataReader
            Dim pd As Boolean = False '定义boolean为后面错误处理使用
            Dim i As Integer
            olecm = New OleDbCommand("select * from Login", olecn)
            '与数据库建立连接
            olecn.Open()
            olerd = olecm.ExecuteReader
            '循环判断与数据库中数据是否相同
            Do While olerd.Read()
                For i = 0 To olerd.FieldCount - 1
                    If Trim(TUser.Text) = (olerd.Item("帐号")) And Trim(TPassword.Text) = (olerd.Item("密码")) Then
                        MsgBox("成功登陆")
                        pd = True
                        Exit Sub
                    End If
                Next
            Loop
            TUser.Text = ""
            TPassword.Text = ""
            TUser.Focus()
            olerd.Close()
            olecn.Close()
        End Sub
     

             整个过程就做完了简单吧。

    展开全文
  • 获取VB里 webbrowser 中的按钮事件

    千次阅读 2008-08-08 09:02:00
    引用Microsoft HTML Object Library Private WithEvents m_oDoc As HTMLDocumentDim oEvent As CEventObjPrivate Sub Command1_Click() End SubPrivate Sub Form_Load() WebBrowser1.Navi
  • vb.net最简单的全局热键代码

    千次阅读 2019-06-19 23:18:06
    ’以下代码,可以让你的程序在没有激活地状态下,按...’vb.net 2012调试通过 Public Class Form1 Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias "RegisterHotKey" (ByVal hwnd As IntPtr...
  • 新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接...
  • 2.在mouseclick事件处理 Private Sub dataGrid_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dataGrid.CellMouseClick Select Case dataGrid.Columns(e.ColumnIndex).Name ...
  • Private Sub Form_Load() Dim sB As String Dim sF As String Combo1.Clear sB = “c:” sF = Dir(sB, vbDirectory) '寻找第一项 Do While sF <> “” '跳过当前的目录及上层目录 If sF <> “.” And sF...
  • 之前也看过不少关于继承的概念,可是都是云,今天终于弄明白了。最为OOP的一个重要概念,理解了继承,对OOP也有了更好的理解。 类的继承:假设有三个类:ClassA,ClassB,ClassC。ClassA的方法有走路,ClassB...
  • SHIFT + CTRL ^ ALT % F1 {F1} 答案补充 这就是在代码中 触发这些按键用的 答案补充 ... Private Sub Form_Load() Dim x x = Shell("C:\Program Files\Microsoft Office\OFFICE11\WINW
  • Public Class Form1  Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress  If e.KeyChar = ChrW(13) ...
  • VB.NET 从main函数启动窗口

    千次阅读 2014-02-12 17:08:49
    _ Public Shared Sub Main() Application.EnableVisualStyles() Application.Run(New Form1()) End Sub
  • Private Sub Form_Load()Dim TempStr() As ByteTempStr = LoadResData(101, 6)Text1.Text = TempStrEnd Sub'LoadResData函数语法:' LoadResData(ID,Type) as Byte ' ID----必需的。一个整数或字符串,它用来指定...
  • VB里,所有API函数、所有常数,都需要用户声明。 ``` Module Module1 Const SW_SHOWNORMAL = 1 Const SW_SHOW = 5 Const SW_SHOWMAXIMIZED = 3 Const SW_SHOWDEFAULT = 10 Public Const WM_...
  • 在写VB.net时,遇到要在线程改变Form上的ListView控件中的信息,动手做起来才发现并不是那么容易。因为微软的框架并不鼓励在线程直接访问Form上的控件。因为这样会改变UI进程的正常执行。如果必须这样做,需要在...
  • 1 Private Sub Form_Load() 2 Dim x As Integer 3 x = 2 4 A x 5 Debug.Print x 6 End Sub 7 Sub A(ByRef t As Integer) 8 t = t - 1 9 End Su
  • VB代码调试

    2016-02-23 17:40:00
    因业务需要,SAP需要调用Dll,和外部设备进行通信这里DLL主要用VB来进行实现,原因VB容易上手以前没有系统学过VB,在学校都是为了应付课设,而了解了下,这次要专门去用VB去实现某个功能,所以得掌握下基本的代码...
  • VB打印本月的月历 vb打印日历 sysdzw

    千次阅读 2011-07-01 10:12:00
    看到C#那边出了一个打印本月月历的题目,就打算用vb实现下。帖子具体地址: ... 因为vb里没有什么linq,所以就用纯字符串操作了,代码如下: Private Sub Form_Load() Dim s$, i%, strDa
  • VB中如何把开始和暂停放在同一个按钮

    千次阅读 热门讨论 2017-06-23 12:20:10
    在之前验百例的时候,师傅问我,一个暂停的,一个开始的如果做成一个按钮,是不是就方便而且美观很多,我觉得很有道理,而且还非常高大上,但是,这...Private Sub Form_Load() Label1.Left = 0 'Label离左边的距离为0

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 278
精华内容 111
关键字:

vb里form