重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第一步:引用进名字空间 using System.Drawing;
在东昌府等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站设计、外贸网站建设 网站设计制作按需定制制作,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站制作,东昌府网站建设费用合理。
第二步:拖一个panel到Form中,这里叫做panel1
第三步:右键点击panel,打开属性,然后双击Paint的那个事件
第四步:把这段代码粘贴到函数panel1_Paint中
Graphics g = panel1.CreateGraphics();
Pen red = new Pen(Color.Red, 3);
g.DrawLine(red, 12, 12, 190, 190);
第五步:运行,看到一条红色的直线了
ACCESS窗体主要是用来开发数据库应用系统的,如果你想在窗体上画线条的确不太给力。在VB窗体里划线以坐标为参数使用LINE方法非常方便,但是在OFFICE,ACCESS里的VBA
LINE方法(当然需要使用坐标参数,联机说明有详细介绍)只能应用于报表而不能应用于窗体。
若要在ACCESS窗体里面划线,我建议你使用下列两种办法:
1)如果你VB比较熟练,可用VB设计一个带LINE方法的自定义ActiveX控件,然后再在ACCESS
VBA中引用该控件,之后将你的自定义控件添加到ACCESS窗体里面,你就可以使用那个ActiveX控件的LINE方法在该控件里绘图划线了;
2)使用ACCESS提供的内置直线控件(Line)。
首先在ACCESS窗体里放置若干个Line控件(要用多少个就放置多少个)将Visible属性设置为False,给不同用途的Line控件分别命名为:类型加尾号,例如:X轴标尺1,X轴标尺2,...
斜线1,斜线2.....
直线1,直线2,......等等
以便以后可集中而不必为每一个控件壹壹设置属性以提高效率,其它属性暂时不理。
使用VBA语言设置Line控件的各种属性在窗体里的特定位置画线,例如:
画斜线
with
斜线1
.Top=300
‘单位:缇
相当于一个像素
567缇=1厘米
.LineSlant=False
'
确定线条左斜还是右斜
.Left=200
.width=800
.height=400
.visible=true
end
with
画水平线
with
直线2
.Top=300
.Left=900
.width=350
.height=0
.visible=true
end
with
画垂直线
with
直线3
.Top=300
.Left=900
.width=0
.height=300
.visible=true
end
with
直线的粗细
用BorderWidth属性设置(取值范围0-6,单位为磅)
直线的颜色
用Bordercolor属性设置(例如取
vbBlue,vbGreen,vbRed
等等)
特别提醒一下,除了使用直线控件外,其实你还可以使用其它类型的控件来画图,这要看你的想象力了。
只要你正确设置各种画线控件的绝对和相对位置及各种属性值,充分利用VBA的循环、判断等语句相信你能够在ACCESS窗体里画出各种效果相当不错的图形,如果配合Timer甚至还能绘出动画效果!
具体的VBA实现代码这里就不写了,祝你成功!
1.DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。当在设计时设置了DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
2.在运行时,可以在程序中切换 DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意 DataGrid 控件与 Visual Basic 5.0中的 DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持 DBGrid 的“解除绑定模式”概念。DBGrid 控件包括在 Visual Basic 的 Tools 目录中。
可能的用法
查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如 DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
3.使用 DataGrid 控件的设计时特性
可以不编写任何代码,只通过使用 DataGrid 控件的设计时特性来创建一个数据库应用程序。下面的说明概要地说明了在实现 DataGrid 控件的典型应用时的一般步骤。完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用 DataGrid 控件创建一个简单数据库应用程序”。
要在设计时实现一个 DataGrid 控件
1. 为要访问的数据库创建一个 Microsoft 数据链接 (.MDL) 文件。请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。
2. 在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。
3. 在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记
录集的 SQL 语句。例如,Select * From MyTableName Where CustID = 12
4. 在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。
5. 右键单击该 DataGrid 控件,然后单击“检索字段”。
6. 右键单击该 DataGrid 控件,然后单击“编辑”。
7. 重新设置该网格的大小、删除或添加网格的列。
8. 右键单击该 DataGrid 控件,然后单击“属性”。
9. 使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
在运行时更改显示的数据
在创建了一个使用设计时特性的网格后,也可以在运行时动态地更改该网格的数据源。下面介绍实现这一功能的通常方法。
更改 DataSource 的RecordSource
更改所显示的数据的最通常方法是改变该 DataSource 的查询。例如,如果DataGrid 控件使用一个ADO Data控件作为其 DataSource,则重写RecordSource和刷新该ADO Data 控件都将改变所显示的数据。
' ADO Data 控件连接的是 Northwind 数据库的' Products 表。新查询查找所有
' SupplierID = 12 的记录。
Dim strQuery As String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.Refresh
更改 DataSource
在运行时,可以将 DataSource 属性重新设置为一个不同的数据源。例如,您可能具有若干个 ADO Data 控件,每个控件连接不同的数据库,或设置为不同的 RecordSource 属性。可以简单地将 DataSource 从一个 ADO Data控件重新设置为另一个 ADO Data 控件:
' 将 DataSource 重新设置为一个连接到 Pubs 数据库的、
' 使用 Authors 表的 ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors
重新绑定 DataSource
当将 DataGrid 控件用于一个远程数据库,诸如 SQLServer 时,可以改变表的结构。例如,可以给这个表添加一个字段。在这种情形下,可以调用Rebind 方法根据新的结构来重新创建该网格。注意,如果已经在设计时改变了这个列的布局,DataGrid 控件将会试图重新创建当前的布局,包括任何空的列。不过,通过首先调用 ClearFields 方法,可以强制该网格重新设置所有的列。
从 DataGrid 返回值
在 DataGrid 被连接到一个数据库后,可能想要监视用户单击了哪一个单元。可以使用 RowColChange 事件——而不是 Click 事件。如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' 显示用户所单击的单元的文字、行和列的信息。
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.Col
End Sub
使用 CellText 和 CellValue 方法
当一个列使用 NumberFormat 属性设置格式后,CellText 和 CellValue 属性是很有用的。NumberFormat 属性不必更改实际的数据格式就可以更改任何包含数字的列的格式。例如,给定一个网格,其中包含一个名为 ProductID的、包含整数的列。下面的代码将使 DataGrid 以"P-0000" 的格式来显示数据。换句话说,尽管在 ProductID 字段中所包含的实际数值为 "3",但该网格所显示的值将是 "P-0003"。
Private Sub Form_Load()
DataGrid1.Columns("ProductID").NumberFormat = "P-0000"
End Sub
要返回数据库中所包含的实际值,应使用 CellValue 方法,如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Debug.Print _
DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
End Sub