Visual Basic 6.0 控件和 .NET 控件的区别

visual|控件|区别

Visual Basic 6.0 控件和 .NET 控件的区别

摘要:本文简单介绍了 Microsoft Visual Basic 6.0 中的标准控件和等效的 Microsoft .NET 控件。

目标

  • 了解哪些 Visual Basic 6.0 ActiveX 控件在 .NET 中具有等效控件。
  • 了解 .NET 控件中哪些属性发生了变化。
  • 了解 .NET 中有哪些新控件。

前提条件

要彻底理解本文内容,需要满足以下条件:

  • 了解什么是 ActiveX 控件。
  • 使用 Visual Basic 6.0 控件和 ActiveX 控件编写过 Windows 应用程序。

目录

  • 标准控件的差别
  • .NET 中的新控件
  • 属性的变化
  • 常规控件的变化
  • 标准控件的变化
  • 总结

标准控件的差别
从内部构造来看,Microsoft .NET 控件与 Microsoft ActiveX 控件存在很大差别,因为 .NET 控件是从其他类的层次结构创建的。这些 .NET 控件所继承的类有若干个,随着您对实际控件的深入了解,您会发现每一个类都经过优化并添加了更多的功能。控件的类层次结构的顶层是 Control 类。但如果您创建自己的控件,这些控件很可能是从 UserControl 类继承而来的,因为 UserControl 类包含您需要的属性和事件,而且还能为您绘制所有的构成控件。
使用 .NET 创建用户界面时,您会发现很多熟悉的 Microsoft Visual Basic 6.0 控件已经不见了或者已经换了名称。本文将简单介绍 Visual Basic 6.0 中的标准控件以及等效的 .NET 控件。在本文后面的内容中,您将了解到所有这些控件在属性名称上有何具体的差异。除了属性和一些事件名称发生变化以外,这些控件的功能与 Visual Basic 6.0 中基本相同。
表 1 列出了 Visual Basic 6.0 工具箱中的标准控件以及等效的 .NET 控件。虽然这里只列出了部分 .NET 控件,但通过此表您可以了解到 .NET 控件发生了什么样的变化。
表 1:在 .NET 中被重命名的 ActiveX 控件Visual Basic 6.0 标准控件等效的 .NET 控件PicturePictureBoxLabelLabelTextBoxTextBoxFrameGroupBoxCommandButtonButtonCheckBoxCheckBoxOptionButtonRadioButtonListBoxListBoxComboBoxComboBoxHScrollBarHScrollBarVscrollBarVScrollBarTimerTimerDriveListBox无。由 OpenFileDialog 控件代替。DirListBox无。由 OpenFileDialog 控件代替。FileListBox无。由 OpenFileDialog 控件代替。Shape无。目前,您可以使用 .NET 公共语言运行时 (CLR) 中的类来绘制形状。Line无。目前您可以使用 .NET CLR 中的类来绘制直线。Image无。您可以使用 PictureBox 控件显示单个图像。Data无。.NET 中的数据绑定与 Visual Basic 6.0 中的数据绑定完全不同。OLE无。ImageListImageList.NET 中的新控件
除了标准控件以外,.NET 中还包含一组新控件。其中一些控件在 Visual Basic 6.0 中具有等效控件,而另一些则是全新的控件。下面列出了一些您可以在 .NET 中使用的新控件。
表 2:可用于创建用户界面的标准控件新控件说明LinkLabel使您可以在 Windows 窗体上放置超链接。其功能类似于浏览器中的超链接。MainMenu帮助您在窗体上创建菜单。DataGrid按表格形式显示 ADO.NET 数据集中的数据。此控件与 Visual Basic 6.0 中的 FlexGrid 控件非常相似,但它具有许多新功能。CheckedListBox增强的 ListBox,允许用户通过选取每个项目旁边的复选框,来选择列表中的一个或多个项目。要在 Visual Basic 6.0 中实现此功能,您需要将 Style 属性设置为 1-CheckedTabControl结合了 Visual Basic 6.0 中 TabStripSSTab 两个控件的功能。Splitter使您可以创建类似于浏览器的、具有两个窗格的界面。DomainUpDown将文本框和 UpDown 箭头组合在一起。其功能类似于组合框,您可以将任何类型的数据放入列表,用户可以通过单击上箭头和下箭头来浏览数据。TrackBar与 Visual Basic 6.0 中的旧 Slider 控件非常相似。HelpProvider如果将此控件添加到窗体的组件栏中,它将向窗体的每个控件添加 HelpStringHelpTopicShowHelp 属性。ToolTip如果将此控件添加到窗体的组件栏中,它将向窗体的每个控件添加 ToolTip 属性。NotifyIcon通常只在创建 Windows 服务时使用,使您可以设置显示在任务栏的系统托盘中的 Icon。单击时,可以显示菜单或该程序中的任何窗体。ContextMenu向窗体添加另一个菜单,然后将其指派给窗体上的任何控件。OpenFileDialog显示 OpenFile 对话框。在 Visual Basic 6.0 中,此控件是 CommonDialog 控件的方法。SaveFileDialog显示 SaveFile 对话框。在 Visual Basic 6.0 中,此控件是 CommonDialog 控件的方法。FontDialog显示 Font 对话框。在 Visual Basic 6.0 中,此控件是 CommonDialog 控件的方法。ColorDialog显示 Color 对话框。在 Visual Basic 6.0 中,此控件是 CommonDialog 控件的方法。PrintDialog显示 Print 对话框。在 Visual Basic 6.0 中,此控件是 CommonDialog 控件的方法。PrintPreviewDialogPrintPreviewControl 结合使用。PrintPreviewControl允许将文档发送到打印预览窗口而不是发送到打印机。ErrorProvider如果将此控件添加到窗体的组件栏中,它将向窗体的每个控件添加 ErrorIconAlignmentIconPadding 属性。PrintDocument将该控件与其他类一起使用时,您可以将文档发送到打印机。PageSetupDialog显示一个对话框,用户可在上面更改页边距和页面方向等设置。属性的变化
为了保持所有控件中属性名称的一致性并且使属性名称更加直观,很多属性的名称相对于它们在 Visual Basic 6.0 中的名称已经有所变化。某些属性已被删除,因为不再需要这些属性(例如 DDE 属性),或者其功能已由 .NET 中的其他控件或方法所代替。

已删除的公共属性

在 Visual Basic 6.0 中,有许多属性是所有控件所共有的。在 .NET 中,许多此类属性已被删除,因为它们已不再适用或者其功能已按照完全不同的方式进行处理。表 3 列出了在 .NET 中不再可用的 Visual Basic 6.0 控件的公共属性。在本文后面的内容中,您会了解到它们的等效属性或删除它们的原因。
表 3:.NET 中所没有的 Visual Basic 6.0 属性已删除的属性DragIconDragModeIndexLinkItemLinkModeLinkTimeoutLinkTopicMouseIconMousePointerOLEDragModeOLEDropMode

新的公共属性

您经常会需要使用所有控件的公共属性集。与 Visual Basic 6.0 一样,.NET 中的所有控件也有一个公共的属性集。表 4 列出了各个新属性并介绍了其功能。
表 4:.NET 中的新属性新属性说明AccessibleDescription“讲述人”附件所朗读的说明内容。“讲述人”是供有视觉障碍的用户使用的一种通讯工具,它可以通过计算机扬声器为用户朗读计算机屏幕上的文字。大部分 Windows 系统都具有此功能,使用方法是依次单击“开始”|“程序”|“附件”|“辅助工具”,然后单击“讲述人”。当您在屏幕上移动鼠标时,该工具将朗读屏幕上的文字。当填写此说明并运行“讲述人”工具时,它将为用户朗读此说明。AccessibleName“讲述人”附件所报告的控件名称。AccessibleRole“讲述人”附件为用户报告的角色。AllowDrop确定控件是否接收拖放通知。Anchor确定控件在窗体中的锚定位置。可以选择您需要的任何锚定样式。ContextMenu将此属性设置为 ContextMenu 控件的名称,这样在此控件上单击鼠标右键时,将自动显示控件菜单。Dock确定控件在窗体中的靠接位置。靠接控件时,控件将随窗体的大小而缩放,但靠接位置不变。Locked如果设置为 True,则此控件在设计时将无法移动。Modifiers确定控件的范围。默认情况下,.NET 中的所有控件都为 Friend。在 Visual Basic 的旧版本中,所有控件都为 Public。现在,您可以选择 PrivateProtectedFriendPublic

已改变的属性

在 Visual Basic 6.0 中,有四个属性是所有控件所必需的,即:LeftTopWidthHeight。虽然这些属性仍然可以使用,但最好使用称为 LocationSize 的新结构。表 5 列出了这些新属性,并介绍了这些新属性的结构。
表 5:.NET 中的 Location 和 Size 属性属性说明Location指出控件所在位置的 X 和 Y 坐标的 Point 结构。在旧版本的 Visual Basic 中,需要使用 LeftTop 属性来完成此设置。Size指出控件的宽度和高度的 Size 结构。在旧版本的 Visual Basic 中,需要使用 WidthHeight 属性来完成此设置。常规控件的变化
与 Visual Basic 6.0 相比,.NET 中控件的工作方式发生了很大变化。以下九节介绍了其中一些变化,并介绍了这些变化对您在 .NET 中的开发工作的影响。

.NET 控件的创建

与 Visual Basic 6.0 相比,.NET 最大的变化之一是窗体上的实例化控件的代码现在变为可见,以前所有这些代码都隐藏在 ActiveX 控件内部和 Visual Basic 运行时中。现在,展开窗体后面的代码中的 #Region 部分即可查看代码。下面是一个窗体示例,包含一个标签、一个文本框和一个按钮控件。

Public Class frmTest    Inherits System.Windows.Forms.Form#Region " Windows Form Designer generated code "    Public Sub New()        MyBase.New()        'Windows 窗体设计器必需此调用。        InitializeComponent()        '调用 InitializeComponent() 后添加初始化。    End Sub    '窗体覆盖配置以清除组件列表。Protected Overloads Overrides Sub Dispose
(ByVal disposing As Boolean)        If disposing Then            If Not (components Is Nothing) Then                components.Dispose()            End If        End If        MyBase.Dispose(disposing)    End Sub    Friend WithEvents Label1 As System.Windows.Forms.Label    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox    Friend WithEvents Button1 As System.Windows.Forms.Button        'Windows 窗体设计器所必需。    Private components As System.ComponentModel.Container    '注意:以下步骤是 Windows 窗体设计器所必需的。    '可以使用 Windows 窗体设计器对其进行修改。'请勿使用代码编辑器进行修改。    
<System.Diagnostics.DebuggerStepThrough()> Private Sub                  InitializeComponent()        Me.Label1 = New System.Windows.Forms.Label()        Me.TextBox1 = New System.Windows.Forms.TextBox()        Me.Button1 = New System.Windows.Forms.Button()        Me.SuspendLayout()        '        'Label1        '        Me.Label1.Name = "Label1"        Me.Label1.TabIndex = 0        Me.Label1.Text = "Label1"        '        'TextBox1        '        Me.TextBox1.Location = New System.Drawing.Point(8, 80)        Me.TextBox1.Name = "TextBox1"        Me.TextBox1.TabIndex = 1        Me.TextBox1.Text = "TextBox1"        '        'Button1        '        Me.Button1.Location = New System.Drawing.Point(112, 32)        Me.Button1.Name = "Button1"        Me.Button1.TabIndex = 2        Me.Button1.Text = "Button1"        '        'frmTest        '        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)        Me.ClientSize = New System.Drawing.Size(392, 250)        Me.Controls.AddRange(New System.Windows.Forms.Control()          {Me.Button1, Me.TextBox1, Me.Label1})        Me.HelpButton = True        Me.MaximizeBox = False        Me.MinimizeBox = False        Me.Name = "frmTest"        Me.Text = "frmTest"        Me.ResumeLayout(False)    End Sub#End RegionEnd Class

可以看出,每个控件都是先创建,然后再对属性(如 LocationSize)进行初始化。在 Visual Studio 设计器的“属性”窗口中设置的任何其他属性也将作为代码添加到此处。如果愿意,您可以仅使用“记事本”来设计用户界面!

注意:请勿更改 #Region 区域中的任何代码。当您在窗体中添加或删除控件时,此部分代码将由 Visual Studio 环境自动创建和销毁。

锚定

象很多 Visual Basic 开发人员一样,您肯定曾经多次通过编写代码将控件锚定在窗体的右下边。如果您希望用户能够调整窗体大小,但又希望窗体上的某些控件相对于窗体底部和/或右边总是保持位置不变,可以不用编写代码!Visual Studio .NET 提供了一个简单的解决方案:即利用 Anchor 属性。该属性使您可以将控件锚定在容器的任一边或所有边。如果锚定在底部和/或右边,当您调整窗体大小时,控件将呈漂浮状;如果锚定在顶部和/或左边,当您调整窗体大小时,控件的大小也将随之改变。您需要实际操作一下,以了解该属性对控件的影响。

 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索net
, 控件
, basic
, 窗体
, visual basic 6.0
, visual basic
, 属性
, windows窗体控件
, visual
, 无控件列表
6.0新功能
visual basic 控件、visual basic 6.0、visual basic 6.0官网、visual basic 6.0下载、visual basic 6.0教程,以便于您获取更多的相关知识。

时间: 2024-08-31 19:40:48

Visual Basic 6.0 控件和 .NET 控件的区别的相关文章

Visual Basic 6.0 控件和 .NET 控件的区别后记

visual|控件|区别 Public Class frmTest    Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code "     Public Sub New()        MyBase.New()         'Windows 窗体设计器必需此调用.        InitializeComponent()         '调用 InitializeCom

Visual Basic 6.0 控件和 .NET 控件的区别(续)

visual|控件|区别 图 1:典型的数据输入屏幕 如图 1 所示,在用键盘键入数据的输入窗体上,您可能希望使 Add.Update.Delete 和 Clear 按钮保持在窗体的右下角.要实现此目的,请突出显示这些按钮,然后将 Anchor 属性设置为 BottomRight.要执行此操作,请在 Properties 窗口中找到 Anchor 属性,并单击其下拉箭头.清除选择左边和上边的栏,然后选择右边和下边的栏,如图 2 所示. 图 2:已激活 Anchor 下拉列表的 Propertie

Visual Basic .NET 已不再支持的 Visual Basic 6.0 功能

visual Visual Basic .NET 已不再支持下列的 Visual Basic 6.0 功能.A: ·    OLE 容器控件   Visual Basic .NET 中没有对等的对象.依赖这个控件的应用程序应继续使用 Visual Basic 6.0. ·    动态资料交换 (DDE)   DDE 方法不再受到支持.依赖 DDE 的应用程序应该修改为使用其它的应用程序间通讯方法或继续使用 Visual Basic 6.0. ·    DAO 或 RDO 资料系结 (Data B

Visual Basic 6.0使用TrueDbGrid如何绑定ADODC控件

问题描述 Visual Basic 6.0使用TrueDbGrid如何绑定ADODC控件 VB使用True DbGrid控件,因为它比较灵活,但是它如何绑定ADODC控件?没有找到DataSource? 解决方案 http://wenku.baidu.com/link?url=05PZmxgbtmXW8etHGnRQUm2mUVNs0myPDd0aKqK1Um8m7j5-DP4uu5mz31wtCwOFke_YAmepl0P2uxZILxvo3RGT2Qd4cAv5ruHnABWlcFe

Visula Basic 6.0能不能把OCX控件嵌入到EXE中

问题描述 Visula Basic 6.0能不能把OCX控件嵌入到EXE中 很多市面上的程序只有一个EXE但是功能很全面,在Visula Basic 6.0里能不能把OCX控件嵌入到EXE中? 解决方案 http://zhidao.baidu.com/link?url=sLFojgNnoJ56qO68LcFR02QPJ08mfthrc7VzPMSbUa7I3iTxfa6OHVOyIIeGgaHA8BKax387cfe_3OipkL5Emq

Visula Basic 6.0语言编程项目添加控件的问题

问题描述 Visula Basic 6.0语言编程项目添加控件的问题 VB6.0中添加控件到窗体,已经引用了这个工程,为什么还是提示说ActveX无法创建对象??? 解决方案 你的控件有没有正确注册,是什么控件?如果是商业控件,有些需要安装许可证.

Visula Basic 6.0 DLL里面可以打包控件么

问题描述 Visula Basic 6.0 DLL里面可以打包控件么 Visula Basic 6.0 DLL里面可以打包控件么?怎么把OCX打包再EXE或者是DLL文件中?又怎么在程序中进行调用? 解决方案 可以使用installshield来打包. 解决方案二: 如果你想,连视频都能打包进去,至于怎么调用我就不知道了

用Visual Basic 6.0实现自动化测试

visual 摘要:本文探讨了Visual Basic 6.0在测试自动化中应用的可能性,并列举了一些在实际工作中应用的例子 一 现有自动化测试工具的不足 当前,一个摆在软件测试自动化面前的一个很明显的事实是目前可用的工具并不能做一切我们想要它们做的事情:指望任何一种工具能够完全支持众多不同应用的测试自动化是不现实的.由于很难找到一个能完全满足测试自动化需要的测试工具,而且测试自动化工具都十分昂贵,所以常用的做法是使用一种主要的自动化测试工具,然后用传统的编程语言如Java, C++ 和 Vis

vb6实体类-Visual Basic 6.0精简版,如何在实体类中定义类属性?

问题描述 Visual Basic 6.0精简版,如何在实体类中定义类属性? 我想在类中定义类属性 玩家类代码 '玩家类 '名称Private Name As String'性别Private Sex As SexEnum'级别Private Level As Integer'当前级别分数Private LevelScore As Integer'总分Private SumScore As Integer'境界Private PlayerRealm As Realm'豆豆虫Private Pla