精华内容
下载资源
问答
  • CodeMaid是Visual Studio的开源扩展,用于清理和简化我们的C#,C ++,F#,VB,PHP,PowerShell,JSON,XAML,XML,ASP,HTML,CSS,LESS,SCSS,JavaScript和TypeScript编码。vs版本支持目前支持VS2017和VS2019。...

    CodeMaid是Visual Studio的开源扩展,用于清理和简化我们的C#,C ++,F#,VB,PHP,PowerShell,JSON,XAML,XML,ASP,HTML,CSS,LESS,SCSS,JavaScript和TypeScript编码。

    68e36d6c8a2a33d555b46ad026f17d62.png

    vs版本支持

    目前支持VS2017和VS2019。

    对于Visual Studio 2012/2013/2015,最近支持的版本是v10.6

    对于Visual Studio 2010,最近支持的版本是v0.8.1

    对于Visual Studio 2005/2008,最新支持的版本是v0.4.3

    9b5ee1e1ecde0d961ea2746dc57bddfa.png

    主要功能

    e19389d3c3570d831b135d0c53702417.png

    代码清理

    将随机空格清除为简单的标准顺序。添加未指定的访问修饰符。利用Visual Studio的内置格式化功能。使用语句删除并排序。并在保存或按需时自动完成所有操作,从单个文件到整个解决方案。

    787e5009fbf20743ed0eb13c0c352b6e.png

    代码挖掘

    从树视图层次结构中可视化并浏览C#和C ++文件的内容。在不同的排序方法之间快速切换,以获得更好的概览。拖放以重新组织代码。参见McCabe复杂度评分和信息丰富的工具提示。

    5e2add3ce44446130320fffd2a314653.png

    代码重组

    重新组织C#文件中成员的布局,以遵循Microsoft的StyleCop约定或您自己的首选项。自动生成要匹配的区域。按需运行或在清理过程中自动运行。

    a526dcfd95235e1f37d1036168978aab.png

    注释格式

    设置注释格式以包装到指定的列,并在单独的行上排列标签。按需运行或在清理过程中自动运行。

    02b55a7af438e1452255af988b392846.png

    更多功能

    https://github.com/codecadwallader/codemaid

    下载地址:

    https://github.com/codecadwallader/codemaid/releases/tag/v11.1

    展开全文
  • 利用rasapi32.dll进行拨号,包含详细的代码注释,在本代码基础上可以快速实现其它例如自动拨号换IP、批量测试拨号用户名和密码等功能。 主要功能包括: 1.新建 电话线/ADSL宽带/VPN拨号连接 2.获取系统已有的拨号...
  • 以便帮助那些VB2003的同学快速升级到VB2005。 余过古刹,于残经败纸中拾得《VB2005-菜根谭》一录,似某一人或某一群人琐事记载,又似一些观点零散发布。翻视之,虽断断续续,然于身心性命之学,实有隐隐相发明者。亟...
        实际作者的意图是解释一些VB2005(VS2005)相对于VB2003的高级特性,或者是一些2003中容易忽略的特性。以便帮助那些VB2003的同学快速升级到VB2005。
        余过古刹,于残经败纸中拾得《
    VB2005-菜根》一录,似某一人或某一群人琐事记载,又似一些观点零散发布。翻视之,虽断断续续,然于身心性命之学,实有隐隐相发明者。亟携归,重加校雠,缮写成帙。 旧有序,文不雅驯,且于是书无关涉语,故芟之。著是书者为大师,究不知其为何许人也。

    1.Partial:就是分部类型,VC#2005也支持。
    2.未使用的引用如何快速去掉:VB2005支持把工程中未使用的引用去掉,方法是鼠标右键点击工程的属性,在引用一项中可以查看未使用的工程中未使用的引用
    3.Global:使您可以在已使用命名空间结构阻塞 .NET Framework 编程元素时对其进行访问
    4.多特性多尖括号:就是说VB2003中要这么写:<System.ComponentModel.DefaultValue(""), System.ComponentModel.Description("")> _ ,在2005中可以这么写:<System.ComponentModel.DefaultValue("")> <System.ComponentModel.Description("")> _
    5.未分配、未使用变量编译警告:这是一个改进
    6.Unsigned Integer:VB2005开始支持无符号的整型等
    7.尽量用Double不用Single:Double比Single快,因为Double在向CPU浮点寄存器存储或读取时,不需要转换,而Single要,当然后者节约内存
    8.LIKE 运算符:根据模式来比较字符串,result=string like Pattern
    9.IsNot运算符:比较两个对象引用变量 ,obj1 IsNot obj2,在2003中的写法是Not (obj1 Is obj2).
    10.TryCast:类型转换操作,类似CType、DirectCast,但TryCast不引发异常,如果不能转化,TryCast返回Nothing
    11.数组允许指定To关键字:Dim arr(0 To 10) As Integer,有点无极(=无聊X2)的功能,左边必须从0开始。
    12.Continue:Continue { Do | For | While } ,呵呵终于支持Continue了
    13.参数是引用类型时Byval和Byref的区别,你真的知道吗?:当参数是引用类型时,很多人不知道byval和byref的区别。
    14.重新引发异常Throw ex or throw:Throw ex增加了一个错误堆栈,不好。
    15.Save Project When Created OR not Save:类似VB6的功能,不必指定程序的保存路径,(对于测试一些代码很有用,不必再保存垃圾了),在option中设置。而VS2003中新建一个工程,上来就让你指定一个保存路径,VB6转到而来的人感觉怪怪的。
    16.剪贴板循环Ctrl+Shift+V:这个VS2003中也有,但是很少有人用。
    17.长方形模式选择Alt+鼠标:选中文本可以竖着选择,你试过没?VS2003中也有这个功能。
    18.参数复制与粘贴Ctrl+Shift+Alt+P:试试这个功能吧,参数明了化,就这个功能。
    19.BookMark Window:BookMark 列表窗口。
    20.插入代码段 ? Tab  管理代码段Ctrl+K、Ctrl+B:代码段噢。
    21.停靠拖动更有效:巨大的改进,我在VS2003中合并一些(或拆分)工具栏,要耗费力气,还事与愿违。
    22.导出导入设置:保存VS2005的相关设置。
    23.项目模板:模板的功能,类似VC6.0中的功能。
    24.单步执行  逐语句(F11)、逐过程(F10)、跳出(Shift+F11)、运行到光标处(Ctrl+F10)、当前断点置于视图中(Alt+小键盘上的*):调试的快速方法,熟了就好,熟归熟,你重伤我,一样告你诽谤。
    25.编辑并继续执行:可以不编译,编辑并继续执行,VS2003中没有,VB6中支持。
    26.调试窗口:局部变量、自动变量、监视、调用堆栈,这个...
    27.单元测试:支持内置的单元测试,类似NUnit,但可以根据你要测试的代码自动生成一些代码框架。
    28.Get、Set定义不同作用域:比如一个属性,Get可以Public,Set可以Private的,怪吗?
    29.运算符重载:终于支持运算符重载了,JAVA都不支持的噢.
    30.事件选项卡:支持一些编译的事件,你可以做些后期的处理。
    31.自定义事件:Custom Event,没有用过,不知道有什么好处。
    32.Overrides自动生成代码:在子类中Overrides 基类中的方法会有智能提示,不必在到基类中去copy方法名了。
    33.Using关键字:Using、End Using声明 Using 块的开头,并根据需要获取该块控制的系统资源 ,以前这么写:Dim frm As New Form1 : frm.ShowDialog() : frm.Dispose() ,现在可以这么写:Using frm As New Form1 : frm.ShowDialog() : End Using 。
    34.接口重新实现:在子类中可以重新实现基类中已经实现的接口,冥冥中好像有些作用吧。2003不支持。
    35.泛型:泛型 、泛型、泛型,要讲三天三夜。
    36.泛型约束-接口约束、继承约束、引用类型约束、值类型约束、无参构造函数约束:泛型、泛型、泛型,要讲三天三夜。
    37.foreach 比For Next慢:这个不清楚,可能For next是索引,foreach是索引加上其他一些东东,所以慢吧.
    38.SecureString:表示应保密的文本。文本在使用时出于保密目的被加密,并在不再需要时从计算机内存中删除 .
    39.强类型泛型抽象类型:Public Interface IDictionary(Of TKey, TValue) ,看看这个就明白俺的意识了。
    40.StopWatch:测试时间的新方式。
    41.DeflateStream/GZipStream:提供压缩和解压缩流的方法,这两个类的算法不同。俺用过ICSharpCode.SharpZipLib.dll 。
    42.Array.Sort/Array.Resize/Array.Find/Array.FindLast/Array.FindIndex/Array.ConvertAll/Array.Foreach好又多泛型方法:MSDN
    43.My.Application My.Computer My.Forms My.Resources  My.Settings   My.User   My.WebServices:VB2005 MY命名空间提供对于一些东西的快速访问,讲一天一夜吧。
    44. Delegate的协变和逆变(C#,VB.net):C#支持协变和逆变,但VB不支持,但VB是弱类型,所以也可以达到类似的效果。
    45.BackGroundWorker:一个好用的多线程控件。
    46.Nullable:可空类型。
    ...

    以上错误之处,不吝指正,谢谢!

    转载于:https://www.cnblogs.com/MasterCai/archive/2007/05/10/741707.html

    展开全文
  • 本工具可以快速清除源代码中的各类注释文本,目前支持的格式有SQL脚本文件、C/C++/C#文件、VB/VBScript文件,程序刚刚做好,还没有经过严格的测试,欢迎大家下载测试,如发现有什么bug,烦劳告知!
  • VB源码之友是VB软件开发的好助手,它... 主要有以下几个功能: 1、程序注释自动生成; 2、变量自动添加前缀(符合匈牙利命名规则、也可以自定义); 3、命令字自动补齐功能(可自定义); 4、代码格式自动整理; 

      

    VB源码之友是VB软件开发的好助手,它即能规范源码开发的格式,又能提高编程的速度,是一款不可多得的好工具。 它是是继API浏览器之后,叶帆软件系列家族中又一款重量级VB程序开发辅助软件。

        主要有以下几个功能:
        1、程序注释自动生成;
        2、变量自动添加前缀(符合匈牙利命名规则、也可以自定义);
        3、命令字自动补齐功能(可自定义);
        4、代码格式自动整理;
        5、源码信息统计;
        6、VB工程自动保存(时间间隔可以设定);
        7、智能查询(可以直观地切换所查到的信息);
        8、智能定位(可以直观地切换到标记位置)。

    【下载链接】------------------------------------------------

     http://www.softreg.com.cn/shareware_view.asp?id=/6FAE6D34-825B-4862-B771-B3EA1BD8A417/

     

    【功能说明】------------------------------------------------

     

    一、基本配置

    1、作者:对未注册版、个人版、专业版该选项不能配置,信息来源于注册信息中的软件使

    用者;对企业版或定制版,该作者名称可以根据实际进行设定。

    2、公司:对未注册版、个人版、专业版、企业版该选项不能配置,信息来源于注册信息中

    的公司信息;对定制版,该公司名称可以根据实际进行设定。

    3、日期格式:该格式是“模块说明”、“函数说明”、“出错处理”等中显示的日期格式

    来源;注:该日期格式设置一定有效正确,否则会出现不可预料的错误。

    4、配置文件:该配置文件默认为当前插件所在的目录,可以设定该文件的路径信息。也可

    以通过选择不同的配置文件,定做不同的格式模板。

    5、VB工程文件定时保存:该功能启用后,根据设定的保存间隔,自动保存VB工程文件。

    6、功能热键有效:该功能启用后,所有的热键方有效。

    7、VB IDE鼠标滚轮有效:该功能启用后,使VB编辑器支持鼠标滚轮功能。

     

    二、添加模块说明

     进入编辑模式

    1、添加模块说明

    单击菜单栏的【添加模块说明】图标或按热键Ctrl+Alt+T,即在模块的顶端添加如下的信息:

    '*************************************************************************
    '**模 块 名:Form1                          
    --Form1    自动填写模块的名称

    '**说    明:叶帆软件 版权所有2003 - 2004(C)
    --叶帆软件 注册的的公司名
    '**创 建 人:叶帆                           
    --叶帆     注册的的作者
    '**日    期:2003年06月26日                 
    --自动填写当前日期
    '**修 改 人:
    '**日    期:
    '**描    述:
    '**版    本:V1.0                            -
    -自动填写当前的版本(保存后的版本)
    '*************************************************************************

    2、配置模块说明的样式

    *************************************************************************
    **模 块 名:%ModuleName%
    **说    明:%Company% 版权所有%DateYear%(C)
    **创 建 人:%Writer%
    **日    期:%Date%
    **修 改 人:
    **日    期:
    **描    述:
    **版    本:%Version%
    *************************************************************************

    关键字说明:

    1、%ModuleName%:模块名称,实际使用时,系统自动用实际的模块名称替换;

    2、%Company%:公司名称,实际使用时,系统自动用注册的公司名称替换;

    3、%DateYear%:版本所有的年限,系统以当前年为起始,延续一年的格式显示,

    如2004-2005;

    4、%Writer%:软件作者,系统自动用注册的软件使用者的名称替换;如果为企业

    用户,该作者可以任意修改。

    5、%Date%:添加日期,实际使用时,系统自动用当前的日期替换;注:日期格式

    为基本配置中设定的日期格式。

    6、%Version%:软件版本,实际使用时,系统自动用实际的软件版本替换;注意,

    该版本显示的是工程文件保存后的版本。

     

    三、添加函数说明

    1、添加函数说明

    先把光标放到目标函数或过程内部,然后单击菜单栏的【添加函数说明】图标或

    按热键Ctrl+Alt+P,即在函数或过程的顶端添加如下的信息:

       i、函数(下面的函数说明都是自动填写的)

    '*************************************************************************
    '**函 数 名:Add
    '**输    入:A(Integer) -
    '**        :B(Integer) -
    '**输    出:(Integer) -
    '**功能描述:
    '**全局变量:
    '**调用模块:
    '**作    者:叶帆
    '**日    期:2003年06月26日
    '**修 改 人:
    '**日    期:
    '**版    本:V1.0
    '*************************************************************************

    Private Function Add(A As Integer, B As Integer) As Integer
       Add = A + B
    End Function

       ii、过程(下面的函数说明都是自动填写的)

    '*************************************************************************
    '**函 数 名:Form_MouseDown
    '**输    入:Button(Integer) -
    '**        :Shift(Integer)  -
    '**        :X(Single)       -
    '**        :Y(Single)       -
    '**输    出:无
    '**功能描述:
    '**全局变量:
    '**调用模块:
    '**作    者:叶帆
    '**日    期:2003年06月26日
    '**修 改 人:
    '**日    期:
    '**版    本:V1.0
    '*************************************************************************

    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As

    Single, Y As Single)

    End Sub

    2、配置函数说明的样式

    *************************************************************************
    **函 数 名:%FunctionName%
    **输    入:%Input%
    **输    出:%OutPut%
    **功能描述:
    **全局变量:
    **调用模块:
    **作    者:%Writer%
    **日    期:%Date%
    **修 改 人:
    **日    期:
    **版    本:%Version%
    *************************************************************************

    输入前缀:输入信息有多个时,第二行起始的参数说明前的注释信息。

    关键字说明:

    1、%FunctionName%:函数名称,实际使用时,系统自动用实际的函数(或过程)

    名称替换;

    2、%Input%:输入参数,实际使用时,系统自动用实际的参数名称替换;当有多个输

    入参数时,第二行起始的参数说明前的注释信息为“输入前缀”中的内容。

    3、%OutPut%:输入信息;

    4、%Writer%:软件作者,系统自动用注册的软件使用者的名称替换;如果为企业用

    户,该作者可以任意修改。

    5、%Date%:添加日期,实际使用时,系统自动用当前的日期替换;注:日期格式为

    基本配置中设定的日期格式。

    6、%Version%:软件版本,实际使用时,系统自动用实际的软件版本替换;注意,

    该版本显示的是工程文件保存后的版本。

     

    四、添加出错处理

    1、添加出错处理信息

    先把光标放到目标函数或过程内部,然后单击菜单栏的【添加出错处理】图标或按

    热键Ctrl+Alt+E,则自动根据配置填写出错处理代码。
     

    i、错误处理方式

         错误处理方式有四种(能自动根据函数或过程的不同,填写相应代码):

             1)、跳出:

    '打开错误处理陷阱
    On Error GoTo ErrGoto
    '----------------------------------------------------
    '----------------------------------------------------

    Exit Sub
    '-----------------------------
    ErrGoto:

             2)、继续:Resume          

             3)、跳过:Resume Next

             4)、结束:End

       ii、把错误信息保存在数据文件

                   错误信息的格式:时间,信息类别,错误信息,所在模块,工程名称

              Private Function Add(A As Integer, B As Integer) As Integer

    On Error GoTo ToExit  '打开错误陷阱
    '----------------------------------------------------
    Add = A + B
    '----------------------------------------------------
    Exit Function
    '-----------------------------
    ToExit:

    Dim lngErrFileNo As Integer '自由文件号
    '把错误信息保存在文件里
    lngErrFileNo = FreeFile()
    Open App.Path & "/YFErrmsg.txt" For Append As lngErrFileNo 

    Print #lngErrFileNo, "ErrMsg:" & Format$(Now, "YYYY-

    MM-DD HH:MM:SS") & "," & Err.Number & "," & Err.Description & ",Add,Form1"
    Close #intErrFileNo
    Resume Next

    End Function

      iii、自定义错误处理语句

                   错误信息的格式:时间,信息类别,错误信息,所在模块,工程名称

              Private Function Add(A As Integer, B As Integer) As Integer

    On Error GoTo ToExit  '打开错误陷阱
    '----------------------------------------------------
    Add = A + B
    '----------------------------------------------------
    Exit Function
    '-----------------------------
    ToExit:

    Debug.Print "错误发生时间:"; Format(Now, "YYYY-MM-DD HH:MM:SS")
    Debug.Print "错误 的 类型:"; Err.Number
    Debug.Print "错误 的 信息:"; Err.Description
    Debug.Print "错误函数名称:Add"
    Debug.Print "错误模块名称:Form1"

              End Function

    2、配置出错处理的样式

    debug.print "错误发生时间:"%DateTime%
    debug.print "错误 的 类型:"%ErrorType%
    debug.print "错误 的 信息:"%ErrorDescription%
    debug.print "错误函数名称:%ErrorSource%"
    debug.print "错误模块名称:%SystemTitle%"

    关键字说明:

    1、%AppPath%:工程路径,实际使用时,系统自动用实际的路径信息替换;

    2、%DateTime%:出错日期,实际使用时,系统自动用当前的日期替换;注:日期格式为日

    期类型中配置的格式。

    3、%ErrorType%:错误类型,实际使用时,系统自动用Err.Number替换;

    4、%ErrorDescription%:错误信息,实际使用时,系统自动用Err.Description替换;

    5、%ErrorSource%:错误来源,实际使用时,系统自动用所在的函数或过程名称替换;

    6、%SystemTitle%:系统标题,实际使用时,系统自动用所在的函数或过程所在的模

    块名称替换;

     

    五、代码格式整理

    1、代码格式整理

    单击菜单栏的【代码格式整理】图标或按 热键:函数内整理Ctrl+Alt+C 或 模块内整理

    Ctrl+Alt+A,即可完成VB代码的格式整理。

    注:选用函数内整理时,输入光标要在相应的函数内才有效。

    代码整理前:

    Private Function Add(A As Integer, B As Integer) As Integer
    On Error GoTo ToExit '打开错误陷阱
    '------------------------------------------------
    If A = B Then
    Add = A + B + Val(Left("9999", 2))
    End If
    A = 0: B = 0
    '------------------------------------------------
    Exit Function
    '----------------
    ToExit:
    Debug.Print "错误发生时间:"; Format(Now, "YYYY-MM-DD HH:MM:SS")
    Debug.Print "错误 的 类型:"; Err.Number
    Debug.Print "错误 的 信息:"; Err.Description
    Debug.Print "错误函数名称:Add"
    Debug.Print "错误模块名称:Form1"
    Resume Next
    End Function
     

    代码整理后(进行了相应的缩格处理):

    Private Function Add(A As Integer, B As Integer) As Integer

    On Error GoTo ToExit '打开错误陷阱
    '------------------------------------------------
    If A = B Then

        Add = A + B + Val(Left$("9999", 2))  --添加了“$”符号

    End If
    A = 0         --分行
    B = 0
    '------------------------------------------------
    Exit Function
    '----------------

    ToExit:

    Debug.Print "错误发生时间:"; Format$(Now, "YYYY-MM-DD HH:MM:SS")
    Debug.Print "错误 的 类型:"; Err.Number
    Debug.Print "错误 的 信息:"; Err.Description
    Debug.Print "错误函数名称:Add"
    Debug.Print "错误模块名称:Form1"
    Resume Next

    End Function

    2、配置代码格式整理模式

     

    i、启用[字符串命令添加"$"功能]:给字符串命令添加$,可以在编辑框中输入新的关键字,

    也可以删除相应的关键字,同时也可设置关键字的有效性。

    ii、函数内整理:设定后,按工具栏图标代码整理范围针对当前函数,否则对应整个模块。

    iii、分拆以":"分隔的代码行,启用后,分隔代码中以":"分隔的代码行。

     

    六、智能查找/智能定位

    1、智能查找

    单击菜单栏的【智能查找/定位】图标或按热键Ctrl+Alt+F,显示智能查找窗口:

    基本界面:

     

    选择半透明(对Win2000以上的版本有效),及隐藏设置区后的界面如下

     

    “VB智能查找”是VB编辑下的“查找功能”加强版,它最大的特点有两条:

    1、把所有匹配的数据一次查找出来,并在list框里显示。

    2、双击list框的选项,输入光标直接定位到相对应的代码行。

    2、智能定位

    按热键Ctrl+Alt+D,显示智能定位窗口:

    基本界面:(也可以设置窗体半透明(对Win2000以上的版本有效))

    “VB智能定位”是VB编辑下的“书签功能”加强版,它最大的特点有两条:

    1、把所有书签显示在list框里。

    2、双击list框的书签,输入光标直接定位到相对应的代码行。

    注:设定书签时,一定通过“VB智能定位”小旗帜设定,删除时也一样。

     

    七、关键字自动补齐

    1、关键字自动补齐

    对配置好的关键字,在输入关键字后(回车后),系统自动添加相对应的关键字

    输入的关键字        自动补齐的关键字

    Do                  Loop

    If                  End if

    While               Wend

    For                 Next

    ...                 ...

    2、关键字配置

     

    可以添加和删除相应的关键字,除此之外还可以设定关键字的有效性。

    注:函数说明:回车->输入前缀  该功能启用后,在函数说明行,回车自动添加输入前缀

    信息。

     

    八、关键字自动替换

    1、关键字自动替换

    对配置好的关键字,在输入关键字后(输入空格或回车后),系统自动替换为相对应的

    关键字

    输入的关键字        替换后的关键字

    exf                 Exit Function

    puf                 Public Function

    ...                 ...

    2、关键字配置

     

    可以添加和删除相应的关键字,同时可设置关键字的有效性。

    注:空行:空格键->Tab 功能启用后,在函数内在每个空行中输入空格键相当于按Tab键。

     

    九、关键字自动匹配

    1、定位相对应的关键字

    热键:Ctrl+[    向前寻找匹配

     

    热键:Ctrl+]    向后寻找匹配

     

    2、配置关键字(和自动补齐功能的关键字相同)

     

    可以添加和删除相应的关键字,除此之外还可以设定关键字的有效性。

     

    十、变量自动添加前缀

    1、变量自动添加前缀

    对配置好的数据类型,在变量命名时自动添加相对应的前缀:

    添加前                          添加后(输入回车后)

    dim data as String              Dim strData As String

    dim num as Long                 Dim lngNum As Long   

    dim index as Integer            Dim intIndex As Integer

    ...                             ...

    注:对一些特殊变量,如i,j,k等可以专门设定为不加前缀的变量。

    2、前缀格式配置

    (1)变量前缀设定:

     

    可以添加和删除变量前缀的格式,同时也可以设定指定变量前缀的有效性。

    (2)不加前缀的变量设定:

     

    可以添加和删除不加前缀的变量名称,同时也可以设定指定变量的有效性。

     

    十一、源码信息统计

     

    按扫描按钮,可以根据不同的选项显示整个工程的所有打开的模块信息(各种函数声明)。

    (可选定要扫描的模块)。

    按保存文件,可以把扫描信息保存在文件里。

    选项说明:

    1、显示模块详细信息:启用后,统计信息显示模块的详细信息。

    2、显示函数详细信息:启用后,统计信息显示函数顶端的注释信息。

    3、显示代码量、注释量:显示代码的行数和注释行数等信息。

    显示示例:

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    [工程名称] MMouse
    [文件名称] MMouse.vbp
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    ==================================================================
    [模块名称] Mouse
    [文件名称] MMouse.ctl
    ==================================================================

    '*************************************************************************
    '**函 数 名:tmrMouse_Timer
    '**输 入:无
    '**输 出:无
    '**功能描述:滚轮触发事件
    '**全局变量:
    '**调用模块:
    '**作 者:叶帆
    '**日 期:2002年12月31日
    '**修 改 人:
    '**日 期:
    '**版 本:版本1.0
    '*************************************************************************
    Private Sub tmrMouse_Timer()
    函数总行数:20
    '*************************************************************************
    '**函 数 名:UserControl_Resize
    '**输 入:无
    '**输 出:无
    '**功能描述:限制在开发模式下的控件大小
    '**全局变量:
    '**调用模块:
    '**作 者:叶帆
    '**日 期:2002年12月31日
    '**修 改 人:
    '**日 期:
    '**版 本:版本1.0
    '*************************************************************************
    Private Sub UserControl_Resize()
    函数总行数:18

    ...

    ==================================================================
    总 行 数:103
    代码行数:23
    空行行数:5
    注释行数:78
    注释行数/代码函数:339.13%
    ==================================================================
    函数总数:5
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     

     

    注册用户可以使用以下功能:

    个人版:

    1、模块说明格式定制功能

    2、函数说明格式定制功能

    3、出错处理格式定制功能(部分)

    专业版:

    1、具有全部的个人版功能

    2、VB功能定时保存功能

    3、热键功能有效(支持热键)

    4、出错处理可配置保存文件信息功能

    5、出错处理处理信息可以定制功能

    6、代码整理定制功能

    7、自动补齐定制功能

    8、自动替换定制功能

    9、自动匹配功能

    10、智能定位功能

    企业版:

    1、具有全部的专业版功能

    2、变量命名定制功能

    3、源码统计功能

    4、可以任意设定软件开发者

    定制版:

    根据需要定制。

     

       

     

    展开全文
  • VB.NET新手可以快速入门的小程序源码 仿合金弹头的横版2D游戏,适用于对,GDI+绘图、重绘,类、继承文件读写、类型实体序列化保存,事件定义、响应等等等等的理解及提高。 包含人物动作的定义编辑器,可以自己编辑...
  • 为了方便别人或自己阅读自己的程序,注释是坚决不可少的。一个漂亮的程序,不是在于你应用的技术多么高深,而是能够把高深的技术描述的清楚易懂。...并且在VB.NET中,当时添加各种注释,是通过宏定义的,
  • vb.net中如何快速绘制鼠标移动轨迹

    千次阅读 热门讨论 2006-12-13 10:32:00
    vb.net中如何在picturebox上绘制直线,且绘制鼠标移动轨迹 主要代码及注释如下: (){this.style.display=none; document.getElementById(_7_2242_Open_Text).style.di

     vb.net中如何在picturebox上绘制直线,且绘制鼠标移动轨迹

        主要代码及注释如下:

     

    Public Class Form1

        
    Dim PtStart As Point                '记录绘制直线的起始点
        Dim PtEnd As Point                  '记录绘制直线的终点
        Dim ShouldDrawLine As Boolean       '是否绘制直线

        
    '记录鼠标左键点击的位置,第二次点击后开始绘制直线
        Private Sub Pic1_MouseDown(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseDown
            
    If e.Button = Windows.Forms.MouseButtons.Left Then
                
    If Not ShouldDrawLine Then
                    PtStart 
    = New Point(e.X, e.Y)
                    ShouldDrawLine 
    = True
                
    Else
                    PtEnd 
    = New Point(e.X, e.Y)

                    
    '下面两句根据需要进行取舍
                    'Call DrawLine(PtStart, PtEnd)   '绘制一条直线
                    Call DrawLines(PtStart, PtEnd)  '绘制多条直线

                    ShouldDrawLine 
    = False
                
    End If
            
    End If
        
    End Sub


        
    '绘制鼠标的移动轨迹(仅在鼠标第一次点击后开始绘制轨迹)
        Private Sub Pic1_MouseMove(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseMove
            
    Static pt As Point
            
    If ShouldDrawLine Then
                
    '鼠标第一次点击的位置(需转化为屏幕坐标)
                Dim p As Point = Pic1.PointToScreen(PtStart)
                
    '清除原先绘制的鼠标移动轨迹
                If pt <> Nothing Then ControlPaint.DrawReversibleLine(p, pt, Color.Red)
                
    '绘制鼠标移动后新的轨迹
                pt = Pic1.PointToScreen(New Point(e.X, e.Y))
                ControlPaint.DrawReversibleLine(p, pt, Color.Red)
            
    Else
                pt 
    = Nothing '清除鼠标原位置
            End If
        
    End Sub


        
    '绘制鼠标两次点击位置之间的直线
        Private Sub DrawLine(ByVal mPoint1 As Point, ByVal mPoint2 As Point)
            Pic1.Refresh()      
    '用于刷新Picturebox表面
            Pic1.CreateGraphics.DrawLine(Pens.Blue, mPoint1, mPoint2)   '绘制两点间的直线
        End Sub


        
    '绘制多条直线,每两次鼠标点击确定一条线
        Private Sub DrawLines(ByVal mPoint1 As Point, ByVal mPoint2 As Point)
            
    '此句不可删除,用于清除鼠标点击前的轨迹
            ControlPaint.DrawReversibleLine(Pic1.PointToScreen(mPoint1), Pic1.PointToScreen(mPoint2), Color.Red)
            Pic1.CreateGraphics.DrawLine(Pens.Blue, mPoint1, mPoint2) 
    '绘制两点间的直线
        End Sub


        
    Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
            
    Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        
    End Sub


    End Class

    注:此代码运行需要一个Form,Form上存在一个Pic1的Picturebox控件。

     

    举一反三,附另外一段代码:

    如何在窗体上随鼠标的移动快速绘制十字形轨迹源码

    Public Class Form2

        
    Dim OldPoint As Point

        
    Private Sub Form2_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
            
    Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        
    End Sub


        
    Private Sub Form1_MouseMove(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
            
    Dim p1, p2, p3, p4 As Point

            
    If OldPoint <> Nothing Then
                p1 
    = PointToScreen(New Point(OldPoint.X, 0))
                p2 
    = PointToScreen(New Point(OldPoint.X, Me.ClientSize.Height))
                p3 
    = PointToScreen(New Point(0, OldPoint.Y))
                p4 
    = PointToScreen(New Point(Me.ClientSize.Width, OldPoint.Y))

                ControlPaint.DrawReversibleLine(p1, p2, Color.Cyan)
                ControlPaint.DrawReversibleLine(p3, p4, Color.Cyan)
            
    End If

            p1 
    = PointToScreen(New Point(e.X, 0))
            p2 
    = PointToScreen(New Point(e.X, Me.ClientSize.Height))
            p3 
    = PointToScreen(New Point(0, e.Y))
            p4 
    = PointToScreen(New Point(Me.ClientSize.Width, e.Y))

            ControlPaint.DrawReversibleLine(p1, p2, Color.Cyan)
            ControlPaint.DrawReversibleLine(p3, p4, Color.Cyan)

            OldPoint 
    = New Point(e.X, e.Y)
        
    End Sub


    End Class

     再附一段代码,在picturebox上实时绘制鼠标选中的矩形框

    Public Class Form2

        
    Dim PtStart, pt As Point
        
    Dim RectSize As Size

        
    Private Sub Pic1_MouseDown(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseDown
            
    If e.Button = Windows.Forms.MouseButtons.Left Then PtStart = New Point(e.X, e.Y)
        
    End Sub


        
    Private Sub Pic1_MouseMove(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseMove
            
    If e.Button = Windows.Forms.MouseButtons.Left Then
                
    Dim p As Point = PointToScreen(PtStart) : p.Offset(Pic1.Location)
                
    If pt <> Nothing Then ControlPaint.DrawReversibleFrame(New Rectangle(p.X, p.Y, pt.X - p.X, pt.Y - p.Y), Color.Red, FrameStyle.Dashed)
                pt 
    = PointToScreen(New Point(e.X, e.Y)) : pt.Offset(Pic1.Location)
                ControlPaint.DrawReversibleFrame(
    New Rectangle(p.X, p.Y, pt.X - p.X, pt.Y - p.Y), Color.Red, FrameStyle.Dashed)
            
    End If
        
    End Sub


        
    Private Sub DrawRect(ByVal mPoint1 As Point, ByVal mPoint2 As Point)
            Pic1.Refresh()
            
    If mPoint2.X > mPoint1.X And mPoint2.Y > mPoint1.Y Then
                PtStart 
    = New Point(mPoint1.X, mPoint1.Y) : RectSize = New Size(mPoint2.X - mPoint1.X, mPoint2.Y - mPoint1.Y)
            
    ElseIf mPoint2.X > mPoint1.X And mPoint2.Y < mPoint1.Y Then
                PtStart 
    = New Point(mPoint1.X, mPoint2.Y) : RectSize = New Size(mPoint2.X - mPoint1.X, mPoint1.Y - mPoint2.Y)
            
    ElseIf mPoint2.X < mPoint1.X And mPoint2.Y > mPoint1.Y Then
                PtStart 
    = New Point(mPoint2.X, mPoint1.Y) : RectSize = New Size(mPoint1.X - mPoint2.X, mPoint2.Y - mPoint1.Y)
            
    ElseIf mPoint2.X < mPoint1.X And mPoint2.Y < mPoint1.Y Then
                PtStart 
    = New Point(mPoint2.X, mPoint2.Y) : RectSize = New Size(mPoint1.X - mPoint2.X, mPoint1.Y - mPoint2.Y)
            
    End If
            Pic1.CreateGraphics.DrawRectangle(Pens.Blue, 
    New Rectangle(PtStart, RectSize))
            
    MsgBox(String.Format("左上角坐标{0}" + vbCrLf + "矩形大小{1}", PtStart.ToString, RectSize.ToString), MsgBoxStyle.Information, "Info")
        
    End Sub


        
    Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
            
    Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        
    End Sub


        
    Private Sub Pic1_MouseUp(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgs) Handles Pic1.MouseUp
            
    If e.Button = Windows.Forms.MouseButtons.Left Then
                
    Dim p As Point = PointToScreen(PtStart) : p.Offset(Pic1.Location)
                ControlPaint.DrawReversibleFrame(
    New Rectangle(p.X, p.Y, pt.X - p.X, pt.Y - p.Y), Color.Red, FrameStyle.Dashed)
                
    Call DrawRect(PtStart, New Point(e.X, e.Y))
                pt 
    = Nothing
            
    End If
        
    End Sub

    End Class

     

     

    在屏幕上的指定边界内,按指定背景色绘制处于指定状态的可逆框架。参见msdn

     

     

     

    展开全文
  • VB Decompiler Pro

    2018-10-19 10:17:13
    支持MMX及FPU指令集)部分反编译native code(使用代码仿真引擎)在反编译的代码中根据语法显示不同的颜色字符串引用列表以及搜索引擎快速反编译VB5/6程序的混淆工具VB5/6程序的修补工具将反编译的数据保存入单个DB...
  • VB外接程序 快速添加模块注释和过程注释 可以自定义注释模板
  • VB对XML读写操作

    2012-05-30 08:40:41
    VB对XML文件简单的读写操作,有详细的注释,方便初学者快速使用XML。
  • 支持MMX及FPU指令集)部分反编译native code(使用代码仿真引擎)在反编译的代码中根据语法显示不同的颜色字符串引用列表以及搜索引擎快速反编译VB5/6程序的混淆工具VB5/6程序的修补工具将反编译的数据保存入单个DB...
  • 源代码注释去除工具

    热门讨论 2012-02-13 18:05:34
    本工具可以快速清除源代码中的各类注释文本,目前支持的格式有SQL脚本文件、C/C++/C#文件、VB/VBScript文件
  • 一个演示VB高速搜索文件程序,基于API来实现,用于快速查找文件,类似的例子在前几年的书籍实例中,有很多,这一个也是从VB的书中整理出来的,代码中有丰富的注释,主要是分享给VB新手参考学习的。
  • VB与USB设备通讯实例

    2010-09-19 16:19:35
    本例为VB与USB设备通讯的一个实例,通过该实例,可以使得没一个USB初学者能快速掌握USB通讯的实际。本例有详细的注释,基本上做到以看即明白,另附有说明文档TXT一份,设备报告描述符实例一份。这是一份初学者的经典...
  • 编码时,在对高级语言(C#/VB etc)函数的访问时,经常会有很明确的函数功能提示,参数提示,与返回值提示。微软的VisualStudio C++集成开发环境同样有这样的功能,只是常见开源的代码很少按照VS的注释格式编写。 ...
  • 从数据库中生成表对应的vb/c#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和vb/c#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。 同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的...
  • vb初学者的好资料 利用它你可以更快速 方便的了解软件个英文单词的含义 使用起来特别方便
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...
  • 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 122
精华内容 48
关键字:

vb快速注释