ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:591.86KB ,
资源ID:8195675      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8195675.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB编程实例讲解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB编程实例讲解.docx

1、VB编程实例讲解实例53:获得拨号网络项目实例说明在本实例中,我们将制作一个能够取得本地计算机上的拨号网络的项目的应用程序。程序运行结果如图53-1所示。图53-1 运行结果技术要点 读取注册表内容 添加到列表框实现过程 新建项目打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“GetDialList”,然后选择保存路径。单击“确认”。 添加控件和设置属性向窗体上添加一个ListBox控件。将窗体的Text属性改为“获得拨号网络项目”,其余属性都保持默认。 添加代码Priv

2、ate Declare Function RegOpenKey Lib advapi32.dll Alias RegOpenKeyA(ByVal hKey As Integer, ByVal lpSubKey As String, ByRef phkResult As Integer) As IntegerPrivate Declare Function RegCloseKey Lib advapi32.dll (ByVal hKey As Integer) As Integer Private Declare Function RegEnumKey Lib advapi32.dll Alia

3、s RegEnumKeyA(ByVal hKey As Integer, ByVal dwIndex As Integer, ByVal lpName As String, ByVal cbName As Integer) As IntegerConst HKEY_CURRENT_USER As Integer = &H80000001 Const ERROR_NO_MORE_ITEMS As Short = 259 Const ERROR_SUCCESS As Short = 0Private Sub Form1_Load(ByVal eventSender As System.Object

4、, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Dim hKey As IntegerDim i As Integer Dim astr As VB6.FixedLengthString = New VB6.FixedLengthString(256)If RegOpenKey(HKEY_CURRENT_USER, RemoteAccessProfile, hKey) = ERROR_SUCCESS ThenWhile RegEnumKey(hKey, i, astr.Value, 256) = ERROR_SUCCESSL

5、ist1.Items.Add(astr.Value)i = i + 1End WhileRegCloseKey(hKey)End IfEnd Sub 运行程序单击菜单“调试|启动”或单击 图标运行程序。小结本实例通过读取注册表中有关拨号网络的项目,然后将这些项目添加到历表框中,这就是本程序的思路。实例54:倒计时程序实例说明本实例将制作一个倒计时程序。程序运行时,始终位于在任何窗口的最前面,双击窗体结束应用程序。程序运行结果如图54-1所示。可以在窗体上单击鼠标右键,在弹出的菜单中选择“设置倒计时”,设置界面如图54-2所示。 图54-1 运行结果 图54-2 设置倒计时界面技术要点 保持窗体

6、最前 倒计时 TimeSerial ()函数 SetWindowPos()API函数实现过程 新建项目打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“ReverseCount”,然后选择保存路径。单击“确认”。 添加控件、菜单和窗体为当前窗体添加两个Label控件和两个Timer控件。其中一个Timer控件控制一个Label控件在上方一直循环移动;另一个Timer控件控制时间的显示。添加一个ContextMenu控件并新建菜单“设置倒计时”和“退出”。利用菜单“项目|添加

7、Windows窗体”,为当前项目添加一个窗体Form2,给Form2添加四个Label控件,用于说明之用;两个Button按钮和三个TextBox控件。最后通过菜单“项目|添加模块”为当前项目添加一个模块。 设置属性切换到“属性栏”,对窗体及窗体上的控件进行设置属性。详细情况如表54-1和表54-2所示。表54-1 窗体Form1及控件的属性值窗体/控件属性值Form1FormBorderStyleFixedSingleContextMenuContextMenu1Label1Text倒计时Timer1Interval100Timer2Interval1000表54-2 窗体Form2及控件的

8、属性值窗体/控件属性值Form2BorderStyle0-NoneStartUpPositonCenterScreenText1Text(空)Button1Text更改图片其余控件跟界面一致即可 添加代码Module Module1 这是在模块中添加的代码 Public hours As Short Public minutes As Short Public seconds As Short Public revtime As Date 此API函数用来使某个窗口位于所有窗口之上Public Declare Function SetWindowPos Lib user32 (ByVal hw

9、nd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As IntegerEnd Module 下面这些代码是在窗体Form1中添加的 双及窗体,结束应用程序Private Sub Form1_DoubleClick(ByVal eventSender As System.Object, ByVal eventArgs As System.

10、EventArgs) Handles MyBase.DoubleClick Me.Close() End Sub 启动程序时,使程序位于任何窗体的上方Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Me.TopMost = TrueEnd Sub 开始倒计时,并显示出来Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventAr

11、gs As System.EventArgs) Handles Timer1.Tick revtime = DateAdd(Microsoft.VisualBasic.DateInterval.Second, -1, revtime) Label2.Text = Format(revtime, hh) & : & Format(revtime, mm) & : & Format(revtime, ss)End SubPrivate Sub MenuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles M

12、enuItem1.Click Form2.DefInstance.ShowDialog()End SubPrivate Sub MenuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem2.Click Me.Close()End Sub 下面这些代码是在窗体Form2中添加的Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles

13、 Button1.Click hours = Val(Text1.Text) minutes = Val(Text2.Text) seconds = Val(Text3.Text) 将输入转化为时间格式 revtime = TimeSerial(hours, minutes, seconds) Form1.DefInstance.Label2.Text = Format(revtime, hh) & : & Format(revtime, mm) & : & Format(revtime, ss) Form1.DefInstance.Timer1.Enabled = True Form2.De

14、fInstance.Hide()End SubPrivate Sub Button2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button2.Click Me.Close()End Sub 运行程序单击菜单“调试|启动”或单击 图标运行程序。小结本实例介绍了一个倒计时程序,它的思路比较简单,就是获得用户输入的时间值,通过定时器每秒钟更新显示一次。它的应用比较广泛,读者可以更改其界面,使其变得更实用、更漂亮。实例55:串行化数据实例说明在本实例中,我们将利用VB.

15、NET向大家展示一个串行化数据的实例。程序运行结果如图55-1所示。图55-1 运行结果技术要点 串行化的概念 进行读写操作实现过程 新建项目打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“类库”,在名称域中输入“SerializeTest”,然后选择保存路径。单击“确认”。 添加代码Imports SystemImports System.IOImports System.CollectionsImports System.Runtime.SerializationImports System.Runtime.

16、Serialization.Formatters.BinaryNamespace ClassLibrary1 Public Class SerializeTest Public Shared Sub Main() Console.WriteLine(Create object graph) Dim l As New ArrayList Dim x As Integer For x = 0 To 9 Console.WriteLine(x) l.Add(x) Next x Console.Write(Serializing object graph to disk.) Dim s As Stre

17、am = File.Open(foo.bin, FileMode.Create, FileAccess.ReadWrite) Dim b As BinaryFormatter = New BinaryFormatter b.Serialize(s, l) s.Close() Console.WriteLine(Complete.) Console.Write(Deserializing object graph from disk.) Dim r As Stream = File.Open(foo.bin, FileMode.Open, FileAccess.Read) Dim c As Ne

18、w BinaryFormatter Dim p As ArrayList = CType(c.Deserialize(r), ArrayList) Console.WriteLine(Complete.) Dim i As Object For Each i In p Console.WriteLine(i) Next i r.Close() Console.WriteLine(Microsoft.VisualBasic.ControlChars.CrLf & Press Return to exit.) Console.Read() End Sub End ClassEnd Namespac

19、e 运行程序单击菜单“调试|启动”或单击 图标运行程序。小结串行化是把图式对象转换成为线性字节串行的过程。字节序列可以发送到别处,例如远程计算机,然后执行序列解码,这样就在远程主机内存中生成了原来图式对象的克隆。串行化过程在VB.NET中是十分容易使用的,而且是开放的,每个VB6的程序员都曾经自觉或不自觉地使用过串行化。当任何ActiveX dll或者ActiveX exe被创建后,都有五个属性可以设置,最后一个Persistable属性就是VB6中的串行化。VB6中串行化的过程不需要用户认知,大部分开发人员也从来不管串行化做了什么和如何运作。在VB.NET中,有着公共对象库,每个支持.NET

20、体系的语言都可以通过System.Runtime.Serialization的名字空间来理解和使用VB.NET的串行化特征。串行化可以替代任何流,象MemoryStream,NetStream等,而不仅仅是FileStream。实例56:控制图形移动实例说明在本实例中,我们将使用VScrollBar控件和HScrollBar控件来控制图片的移动,我们还可以设置移动的间距大小。程序运行结果如图56-1所示。图56-1 运行结果技术要点 控制图片移动 直接拖动图片 更改ScrollBar控件的移动间距大小实现过程 新建项目打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选

21、择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“ScrollBarCtl”,然后选择保存路径。单击“确认”。 添加控件向当前窗体上添加一个GroupBox控件,在GroupBox控件上放置六个Label控件和两个ComboBox控件;然后再添加一个Picture控件,一个VScrollBar控件和一个HScrollBar控件和六个Label控件。按照图56-1的运行结果排列好位置。 设置属性对窗体上的控件进行属性设置。详细情况如表56-1所示。表56-1 窗体各控件的属性值窗体/控件属性值PictureBoxPictureHuman.jpgCom

22、boBox1Items1,2,3,4,5ComboBox1Itmes5,10,20,50其余控件Text跟界面一致 添加代码由于空间有限,我们仅列出主要代码,其余代码请看光盘。 水平滚动条移动时,改变图片的位置Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll label11.Text = HScrollBar1.Value.ToString() hAbsPos = CSn

23、g(HScrollBar1.Value - HScrollBar1.Minimum) pictureBox1.Left = HScrollBar1.Right - CInt(hScrollMultiplier * hAbsPos) - pictureBox1.WidthEnd Sub 更改大间距移动的值Private Sub comboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comboBox1.SelectedIndexChangedVScroll

24、Bar1.LargeChange = Convert.ToInt16(comboBox1.SelectedItem.ToString() HScrollBar1.LargeChange = Convert.ToInt16(comboBox1.SelectedItem.ToString()label11.Text = HScrollBar1.Value.ToString()label12.Text = VScrollBar1.Value.ToString()End Sub 更改小间距移动的值Private Sub comboBox2_SelectedIndexChanged(ByVal send

25、er As System.Object, ByVal e As System.EventArgs) Handles comboBox2.SelectedIndexChangedVScrollBar1.SmallChange = Convert.ToInt16(comboBox2.SelectedItem.ToString()HScrollBar1.SmallChange = Convert.ToInt16(comboBox2.SelectedItem.ToString()label11.Text = HScrollBar1.Value.ToString()label12.Text = VScr

26、ollBar1.Value.ToString()End Sub 直接拖动图片Private Sub pictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pictureBox1.MouseDowndragging = True (e.x, e.y) 表示光标相对于图片位置的相对坐标。我们需要将这个值保存下来oldX = e.XoldY = e.YEnd Sub 运行程序单击菜单“调试|启动”或单击 图标运行程序。小结本实例通过使用S

27、crollBar控件来控制图片的显示,这在我们要显示大图片时是很有必要的。通过对本实例的学习,读者能够掌握ScroollBar控件的基本使用方法。实例57:多彩文本实例说明在本实例中,我们制作一个能够显示多种形式文本的应用程序。程序运行后,即在窗体上的不同区域输出不同的文字。程序运行结果如图57-1所示。图57-1 运行结果技术要点 设定不同的Brush和Font 输出字体实现过程 新建项目打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中,选择“Windows应用程序”,在名称域中输入“GdipText”,然后选择保存

28、路径。单击“确认”。 添加代码Public Sub New() MyBase.New() TextSample = Me InitializeComponent() serifFontFamily = New FontFamily(GenericFontFamilies.Serif) Me.SetStyle(ControlStyles.Opaque, True) Me.SetStyle(ControlStyles.ResizeRedraw, True) Dim backgroundImage As Image 设定背景图片 backgroundImage = New Bitmap(System

29、.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(colorbars.jpg)新建一个画刷,我们将使用它在背景图片上画图backgroundBrush = New TextureBrush(backgroundImage)设定文本图片Dim textImage As Image = New Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(marble.jpg)textTextureBrus

30、h = New TextureBrush(textImage)设定要使用字体格式Me.Font = New Font(serifFontFamily, 20)titleFont = New Font(serifFontFamily, 60)textFont = New Font(serifFontFamily, 11)建立一个阴影画刷titleShadowBrush = New SolidBrush(Color.FromArgb(70, Color.Black)用设定的字体和画刷输出Japanese文本TryjapaneseFont = New Font(MS Mincho, 36)linearGradBrush = New LinearGradientBrush(New Point(0, 0), New Point(0, 45), Color.Blue, Color.Red)Catch ex As ExceptionMessageBox.Show(The Japanese font MS Mincho needs be present to run the Japanese part of this sample & ControlChars.CrLf & &

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1