扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
不难的,vb.net的语言比vb的完整些而已。而且一样可以利用英文的理解方法理解vb.net的代码,相对来说,vb.net更容易。语法来看,vb多数是用缩写的,而vb.net是用完整的单词,更便于理解,而且API也简化了很多。
成都创新互联专注于企业营销型网站、网站重做改版、赵县网站定制设计、自适应品牌网站建设、HTML5、商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为赵县等各大城市提供网站开发制作服务。
所以,vb转vb.net是很容易上手的。
你把代码写在 Activated 事件中试验一下,写在 Load 事件中肯定不能隐藏form1窗体。
Private Sub Form1_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
Me.Hide()
Form2.Show()
End Sub
至于一关闭form1整个程序就会关闭,是因为你的form1是主窗体,你找到Application.Designer.vb这个文件,默认应该都有,这里面有这样的代码
Global.System.Diagnostics.DebuggerStepThroughAttribute() _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.WindowsApplication1.Form1
End Sub
从代码Me.MainForm = Global.WindowsApplication1.Form1中可以看出Form1()是主窗体,如果你想改变主窗体,那么只要修改对应的Form。
调用过程,调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。下面说明如何调用 Sub 过程和 Function 过程。
调用 Sub 过程
与 Sub 过程不同,在表达式中,Sub 过程不能用其名字调用。调用 Sub 过程的是一个独立的语句。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
调用 Sub 过程有两种方法:
'以下两个语句都调用了名为 MyProc 的 Sub 过程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意,当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号
调用函数过程
通常,调用自行编写的函数过程的方法和调用 Visual Basic 内部函数过程(例如 Abs)的方法一样;即在表达式中写上它的名字。
'下面的语句都调用函数 ToDec。
Print 10 * ToDec
X = ToDec
If ToDec = 10 Then Debug.Print "Out of Range"
X = AnotherFunction ( 10 * ToDec)
就像调用 Sub 过程那样,也能调用函数。下面的语句都调用同一个函数:
Call Year (Now)
Year Now
当用这种方法调用函数时,Visual Basic 放弃返回值。
调用其它模块中的过程
在工程中的任何地方都能调用其它模块中的公用过程。可能需要指定这样的模块,它包含正在调用的过程。调用其它模块中的过程的各种技巧,取决于该过程是在窗体模块中、类模块中还是标准模块中。
窗体中的过程
所有窗体模块的外部调用必须指向包含此过程的窗体模块。如果在窗体模块 Form1 包含 SomeSub 过程,则可使用下面的语句调用 Form1 中的过程:
Call Form1.SomeSub(arguments)
类模块中的过程
与窗体中调用过程类似,在类模块中调用过程要调用与过程一致并且指向类实例的变量。例如,DemoClass 是类 Class1 的实例:
Dim DemoClass as New Class1
DemoClass.SomeSub
但是不同于窗体的是,在引用一个类的实例时,不能用类名作限定符。必须首先声明类的实例为对象变量(在这个例子中是 DemoClass )并用变量名引用它。
标准模块中的过程
如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。
如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于 Module1 和 Module2 中名为 CommonName 的过程,从 Module2 中调用 CommonName 则运行 Module2 中的 CommonName 过程,而不是 Module1 中的 CommonName 过程。
从其它模块调用公共过程名时必须指定那个模块。例如,若在 Module1 中调用 Module2 中的 CommonName 过程,要用下面的语句:
Module2.CommonName (arguments)
Public 用于声明对所有模块中的所有其它过程都可以使用的过程。
Private 用于声明只能在包含该声明的模块中使用的过程。
有个办法就是用图片直接当按钮,鼠标移到图上时显示一个图,鼠标移出图片时显示另一个图,按下时显示一个图 把图的Click事件当按钮的Click来用,松开鼠标时显示另一个图,我以前试过,效果不错,就是事件处理时比用按钮麻烦点,要写鼠标移入、移出、按下、松开的代码
将模块中的过程写为Public,在调用
比如模块中:
Public Sub text()
......
End Sub
主窗体调用代码:
Call text()
转载此出处
说到换肤,我们脑子当中可能就会浮现很多商业软件那些漂亮的皮肤,自从XP流行以来,程序的外观变得比以往更加引人注意,像Office 系列的界面,一直是很多程序员模仿的范例,今天我就利用Xtreme Suite Pro ActiveX 轻松的给自己程序加上皮肤应用功能,为我们自己的程序增色。
目标:制作一个具有换肤功能的程序,程序界面模仿Office 2007样式
一、准备工作
1、开发工具VB6,当然也可以用.Net,这里以VB6做示例
2、Xtreme Suite Pro ActiveX 12英文正式版
下载地址为:
Part1:
Part2:
二、工具安装
1、VB6的安装不多说
2、将上述下载地址的两个文件下载后放在同一个目录下,然后解压Part1,解压完成后,可以看到一个setup.exe文件,按提示安装,其中Sn在对应的文本中,注意我们选用的Sn为Xtreme Suite Pro ActiveX v12.0.1 英文正式版的,Xtreme Toolkit Pro v12.0.1是针对MFC的,不要输入错误。
现在假设Xtreme Suite Pro ActiveX 按照默认方式已安装成功,那边我们可以进入到下一步了。
三、正式开始
1、新建一个VB6的EXE工程
2、在工具栏上点击右键找到部件,因为Xtreme Suite Pro ActiveX 已安装成功,所以我们可以看到部件引用中有如下内容
(图1)
勾中xtreme SkinFramework ActiveX Control 12.0.1,此时我们的界面当中应该可以看到类似下面的图片
(图2)
到这里,我们的准备工作已完全准备妥当,下面是关键的代码,我们将其放在Form_Load事件中
Private Sub Form_Load()
Dim FileName as string
Dim IniFile as string
FileName ="C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles"
IniFile="NormalBlue.ini"
SkinFramework1.LoadSkin Dlg.FileName, IniFile
SkinFramework1.ApplyWindow Me.hWnd
SkinFramework1.ApplyOptions = SkinFramework1.ApplyOptions Or xtpSkinApplyMetrics
End Sub
这里我们利用SkinFramework的LoadSkin方法找到指定的皮肤文件,然后再调用ApplyWindow方法,并且设置了ApplyOptions 属性,注意这里的设置其实就是SkinFramework的默认值。
按F5运行工程,出现在我们眼前的界面将是下面这个样子了
(图3)
简单的引用,简单的代码,出现在我们面前的却已经是如此漂亮的界面,到这里我们已大告功成了。
四、扩展
Xtreme Suite Pro ActiveX 的SkinFramework 不但支持以cjstyles为扩展的皮肤文件,同时也支持XP的themes文件,即以msstyles为扩展名的文件,知道了这点我们的皮肤来源就非常广了。
下面为大家推荐一个地方,里面有很多免费的皮肤
安装完Xtreme Suite Pro ActiveX ,官方即包含Office2007.cjstyles,Vista.cjstyles,WinXP.Luna.cjstyles,WinXP.Royale.cjstyles四个皮肤文件,同一个皮肤文件中可能包含几个配置文件,比如Office2007.cjstyles就包含NormalBlue.ini 、NormalAqua.ini 、NormalSilver.ini 、NormalBlack.ini 四个配置文件,可以放在LoadSkin方法的第二个参数中,就可以显示不同配置文件所达到的不同皮肤的效果。
为了读取皮肤文件所包含的配置文件,我们可以用下面的方法
Dim Discription As SkinDescription
Dim i As Integer
Dim FileName as string
FileName ="C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles"
Set Discription = SkinFramework1.EnumerateSkinFile(FileName )
For i = 0 To Discription.Count - 1
debug.print "IniFile:" Discription.IniFile(i).IniFileName "/ColorScheme:" Discription.IniFile(i).ColorScheme _
"/FontSize:" Discription.IniFile(i).FontSize
Next
写到这里,我们才真正搞定了皮肤的开发,为了大家的使用方便,我特意写了一个示例程序
下载地址为:
另外这里包含了几个皮肤文件:
有兴趣的可以参考一下
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流