搜档网
当前位置:搜档网 › 微软图表控件MsChart使用文档

微软图表控件MsChart使用文档

微软图表控件MsChart使用文档
微软图表控件MsChart使用文档

一、mschart控件使用详解

https://www.sodocs.net/doc/9c17590163.html, 3.5 ChartAreas控件中的ChartAreas属性是ChartArea对象的集合,ChartArea负责显示容器的属性或图表的背景,由于不止一个,这就意味着MSChart控件可以包含多个图表。

在使用多个ChartAreas时理解下面几点内容非常重要:

在技术上可以控制ChartArea的位置,因此多个ChartArea可以叠加,但不推荐这么做,建议在MSChart 控件内的独立区域内绘制它们,为了合并或覆盖数据点,推荐在一个ChartArea内使用多个序列,后面将会有介绍。默认情况下,控件会为你自动调整大小和位置。

单个ChartArea将会独立调整以适应数据,正如上图所显示的,第二个ChartArea中的Y值更大,数据点也更少。

多个ChartAreas控件允许你使用多个不相容的ChartTypes(序列对象属性,控制图表的显示类型,如条形、柱状和饼状)显示图表,图表任然显示在相同的MSChart控件内。

对于单个ChartArea,有许多独立的属性可以设置和调整,这样你就可以自行调整图表区域以满足不同的需要,它的大部分属性和面板控件的属性都差不多,因此这里我们就不多说了,只说一下ChartArea 唯一的属性,下面是这些唯一属性的清单:

3D样式:使用ChartArea的Area3DStyle属性和子属性,我们可以创建漂亮的、十分抢眼的3D图表,无论是在设计器中还是在代码中都必需将Enable3D属性设置为TRUE,其余的参数可以通过调整旋转、视角、照明方式和其它3D元素,让一个图像看起来具有3D效果。

坐标轴控制和样式:坐标轴集合包括x轴和y轴,以及第二个x轴和y轴,这四个项目的属性允许你设置样式、设置标签、定义间隔、设置工具提示、设置缩放等,如果你的图标要求精确的间隔、标签或其它特殊的显示需要,你可以使用这些属性。例如,你可以颠倒坐标轴的值,或控制如何在x轴上显示标签。如果你使用图表显示实时信息,可以使用IntervalType属性来配置基于日期和时间显示数据点。

选择光标:如果你对用户使用鼠标选择数据点或点击和拖拉范围非常感兴趣,这个时候就要用到CursorX 和CursorY属性了,你可以启用选择,并设置最初的光标位置或范围。

Series

和ChartAreas属性一样,Series属性是一个集合。

单个ChartAreas实例包括3个重要的属性:ChartArea属性、ChartType属性和Points集合属性。

ChartArea:识别使用哪个ChartArea。

ChartType:识别表示数据时使用的图标类型,基本的类型有条形、柱状、饼状和线状,还有一些高级选项,如K线图、曲线图、追星图等。

Points:它是DataPoint对象的集合,包括x值和y值,它们是绘在图表上的序列的一部分,数据绑定时最常用的增加数据点的方法,本文后面会做介绍。

Series实例上的其他常用属性和人们广泛了解的还包括:

Color:这个属性用于单独设置每个数据点序列的颜色,默认情况下,这个属性是空白的,控件会自动改变颜色,以保证将多个序列区分开来。

IsValueShownAsLabel:将这个属性的值设为TRUE后(默认是FLASE),图表将显示每个数据点的Y值。

在讲多个序列实例合并到一个ChartArea中时,例如下面两个独立的图表,每个图表都包括6个数据点。

假设你想比较这两个图表中的数据点,你可以将这两个MSChart控件放在一起,相互挨着,也可以在一个图表中使用两个ChartAreas控件,这两种方式都没问题,但都不能给你很好的视觉比较效果,这就是为什么MSChart要合并数据点,让你可以肩并肩地对比数据。将第二个图表中的数据作为第二个序列实例添加到第一个图表中,一下子就从视觉上改善了对比的效果。

使用多个序列实例时,记住每个序列使用的ChartType非常重要,不是所有ChartType选项放在一起都是兼容的。

总的说来,图表控件的层次如下:MSChart控件有零到多个ChartAreas,一个ChartAreas有零到多个序列(Series),一个序列有零到多个数据点(DataPoints)。

数据绑定

数据可以在设计时或运行时绑定,在设计时绑定要使用到数据源配置向导,在MSChart控件数据源属性下拉按钮中可以找到它,如果你已经配置过数据源,你可以在下拉列表中进行选择。

图表函数

DataBind():绑定数据源的基础函数。

DataBindTable():绑定图表到特定的数据表,但不允许绑定多个Y值,每个序列不同的数据源或x值、y值有不同的数据源。

DataBindCrossTab():将图表绑定到一个数据源,并允许基于一个数据列进行分组,在具体指定的列上每个唯一的值将自动创建一个单独的序列。

数据点函数

DataBind():绑定一个序列到单一的数据源,并允许其它属性绑定到同一个数据源(如标签、工具提示、图例文本等)。

DataBindXY():允许将x值和y值绑定到独立的数据源,它也用于为每个序列绑定单独的数据源。

DataBindY():仅绑定序列中数据点的Y值。

数据源配置好后,MSChart控件可以绑定所有的实现了IEnumerable接口的对象,包括但不限于DataReader、DataSet、Array和List。也允许绑定SqlCommand、OleDbCommand、SqlDataAdapters和OleDbDataAdapter对象。

图例

图例属性也是一个集合(叫做图例对象),为了快速理解使用图例可以做什么,可以把它想象成一个简单的表,假设你有一个表格,默认有两列,你可以从前面的例子看出,使用序列实例名的默认设置和序列的颜色,图例可以通过添加额外的单元列到CellColumn集合上进行扩展,还可以添加列标题,便于更好地理解图例。在下面的例子,标题“Name”和“Color”已经添加到默认图例实例上。

每个序列的图例文本由序列自身控制,在每个序列实例上使用LegendText属性以改变图表上图例的文本,你也可以给图例一个标题。在下面的例子,图例被标题为“图例”,除此之外,你还可以输入文本,你也可以设置属性来处理标题的对齐、颜色和字体,你会发现大部分MSChart属性这类操作和自定义,只要你愿意。

最后,图表的图例有两种放置方法,默认是在ChartArea外部,位于右侧,紧挨ChartArea。另一种是通过坐标进行精确控制,停靠在ChartArea内,通过设置ChartArea对象的DockedToChartArea属性实现。

标题

标题和前面讨论到的其它属性类似,为每个标题创建独立的实例时,图表控件会在标题集合中保留这些标题实例,理解标题的最好方法是将其认为是一个标签控件,这意味着标题可以顶端居中、左端居中、顶端居左和底部居右。

在下面的例子中,图表拥有一个字体大小,顶端居中的标题,叫做“My First Chart”。

提示和技巧

3D透明性:可以在序列上使用一些透明属性让3D图表看起来更漂亮,在设计时,可以将Alpha值添加到要使用的颜色的RGB代码中,在属性窗口中,选择序列集,选择一个序列,在该序列的属性窗口上,在现有的3个RGB值前添加一个Alpha值,你可以使用下面的代码完成同样的任务:

1.chart1.Series["Series1"].

2.Color = Color.FromArgb(220, 123, 123, 123);

利用设计器:在大多数时候,在代码运行时才配置图表控件的属性和配置选项是很愚蠢的,当你的应用程序以静态的方式使用图表时(如一直都是两个序列的条形图),在设计时,设计器允许你配置和查看图表。另一方面,如果你倾向于动态使用图表(如一会儿是饼图,一会儿是线状图,用户在运行时可以自行修改),这种情况需要代码在运行时修改设计,不用为每种图表类型都手动创建代码,使用设计器创建后,从设计文件中去除多余的代码,这样可以节约你编码和决定使用哪个属性的时间。

逻辑名:这是一个通用的优秀编程习惯,在创建ChartAreas、Series和Titles等时,请确定都给它们取了名字,并且是容易记住的,例如,chart1.Series["Series1"]…, chart1.Series["Series2"]…就

比chart1.Series["salesrepearningquarter"]…, chart1.Series["salesrepcomdatabyquarter"]…更容易引入错误。

二、详解

chart 控件主要有Titles标题集合 Chart Area图形显示区域Series图表集合Legends图列的集合(1)常用事件:

1. Series1.Points.DataBind()绑定数据点集合,如果要在一个MSChart控件的一个绘图区(ChartArea)内添加多个不同数据源的图表,就用这个主动绑定数据集合的方法。可以将表中指定字段的值绑定到指定的坐标轴上。

2. MSChart1.DataBind()给整个MSChart绑定一个数据源,该MSChart中的图表全部可以使用该数据源作为统计来源

(2)MSChart的元素组成,最常用的属性包括:

ChartAreas:增加多个绘图区域,每个绘图区域包含独立的图表组、数据源,用于多个图表类型在一个绘图区不兼容时。

AlignmentOrientation:图表区对齐方向,定义两个绘图区域间的对齐方式。

AlignmentStyle:图表区对齐类型,定义图表间用以对其的元素。

AlignWithChartArea:参照对齐的绘图区名称。

InnerPlotPosition:图表在绘图区内的位置属性。

Auto:是否自动对齐。

Height:图表在绘图区内的高度(百分比,取值在0-100)

Width:图表在绘图区内的宽度(百分比,取值在0-100)

X,Y:图表在绘图区内左上角坐标

Position:绘图区位置属性,同InnerPlotPosition。

Name:绘图区名称。

Axis:坐标轴集合

Title:坐标轴标题

TitleAlignment:坐标轴标题对齐方式

Interval:轴刻度间隔大小

IntervalOffset:轴刻度偏移量大小

MinorGrid:次要辅助线

MinorTickMark:次要刻度线

MajorGrid:主要辅助线

MajorTickMark:主要刻度线

DataSourceID:MSChart的数据源。

Legends:图例说明。

Palette:图表外观定义。

(3)Series:最重要的属性,图表集合,就是最终看到的饼图、柱状图、线图、点图等构成的集合;可以将多种相互兼容的类型放在一个绘图区域内,形成复合图。

IsValueShownAsLabel:是否显示数据点标签,如果为true,在图表中显示每一个数据值

Label:数据点标签文本

LabelFormat:数据点标签文本格式

LabelAngle:标签字体角度

Name:图表名称

Points:数据点集合

XValueType:横坐标轴类型

YValueType:纵坐标轴类型

XValueMember:横坐标绑定的数据源(如果数据源为Table,则填写横坐标要显示的字段名称)YValueMembers:纵坐标绑定的数据源(如果数据源为Table,则填写纵坐标要显示的字段名称,纵坐标可以有两个)

ChartArea:图表所属的绘图区域名称

ChartType:图表类型(柱形、饼形、线形、点形等)

Legend:图表使用的图例名称

Titles:标题集合。

width:MSChart的宽度。

height:MSChart的高度。

(4)示例:

private void BindGrid()

{

chart2.Width = 800;

chart2.Height = 600;

//作图区的显示属性设置

//chart2.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = false;

//chart2.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;

//背景色设置

chart2.ChartAreas["ChartArea1"].ShadowColor = Color.Transparent;

chart2.ChartAreas["ChartArea1"].BackColor = Color.FromArgb(209, 237,

254); //该处设置为了由天蓝到白色的逐渐变化

chart2.ChartAreas["ChartArea1"].BackGradientStyle = GradientStyle.TopBottom;

chart2.ChartAreas["ChartArea1"].BackSecondaryColor = Color.White;

//X,Y坐标线颜色和大小

chart2.ChartAreas["ChartArea1"].AxisX.LineColor = Color.FromArgb(64, 64, 64, 64); chart2.ChartAreas["ChartArea1"].AxisY.LineColor = Color.FromArgb(64, 64, 64, 64); chart2.ChartAreas["ChartArea1"].AxisX.LineWidth = 2;

chart2.ChartAreas["ChartArea1"].AxisY.LineWidth = 2;

chart2.ChartAreas["ChartArea1"].AxisX.Title = "时间";

chart2.ChartAreas["ChartArea1"].AxisY.Title = "灰量";

//中间X,Y线条的颜色设置

chart2.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);

chart2.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);

//X.Y轴数据显示间隔

chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1.0; //X轴数据显示间隔

chart2.ChartAreas["ChartArea1"].AxisX.IntervalType = DateTimeIntervalType.Days; chart2.ChartAreas["ChartArea1"].AxisX.IntervalOffset = 0.0;

chart2.ChartAreas["ChartArea1"].AxisX.IntervalOffsetType = DateTimeIntervalType.Days;

chart2.ChartAreas["ChartArea1"]https://www.sodocs.net/doc/9c17590163.html,belStyle.Format = "M-d";

chart2.ChartAreas["ChartArea1"].AxisY.Interval = 200;// y轴数据显示间隔

//X轴线条显示间隔

//chart2.ChartAreas["ChartArea1"].AxisX.MajorGrid.IntervalType = DateTimeIntervalType.Hours;

chart2.Palette = ChartColorPalette.Pastel;

string sql = "select sum(zhl) zhl, input_date, ash_type_name from (" +

" select sum(t.second_load - t.first_load) as zhl," +

" to_date(to_char(t.input_date, 'dd/mm/yyyy')||'00:00','dd/mm/yyyy

hh24:mi:ss') as input_date," +

" u.ash_type_name" +

" from transportation_bill t, ash_type u" +

" where t.ash_type_id = u.ash_type_id" +

" and (t.input_date between to_date('2009-6-11','yyyy-mm-dd') and

to_date('2009-6-20','yyyy-mm-dd'))" +//此处加按日期查询的条件

" and t.sale_organization_id = 1" +//此处加用户所在机构查询条件

" group by u.ash_type_name, t.input_date" +

" order by t.input_date" +

")" +

" group by ash_type_name,input_date" +

" order by input_date";

DataTable dt2 = OracleHelper.ExecuteDataTable(OracleHelper.ConnectionString, CommandType.Text, sql, "T", null);

chart2.DataBindCrossTable(dt2.DefaultView, "ash_type_name", "input_date", "zhl", "", PointSortOrder.Ascending);

foreach (Series sr in chart2.Series)

{

sr.ChartType = SeriesChartType.Spline;

sr.XValueType = ChartValueType.Date;

sr.MarkerStyle = MarkerStyle.Circle;//散点样式

sr.MarkerSize = 5;//默认是5,散点大小

sr.MarkerStep = 1;//默认是1,散点频率

sr.MarkerColor = 1;//默认是透明,散点颜色

sr.BorderWidth = 2;

}

//chart2.Legends["Default"].Docking = Docking.Left;

}

1.什么是MSChart

Chart: Microsoft Chart Controls for Microsoft .NET Framework 3.5

?适用于.NET Framework 3.5 SP1 的https://www.sodocs.net/doc/9c17590163.html,和Windows Form图标控制项

?开发商:2007年Dundas 开发出收費的Chart控件2008/9/8微软发布免費的MSChart 控件

?Support Service:system :win2003 sp2 ,win2008,windows vista,winxp sp3 .net Framework: .NET Framework 3.5 SP1(VS2008)

?处理器:400 MHz Pentium(最低);1GHz Pentium(建议)RAM:96 MB(最小)256MB (建议)Hard:500MB可用磁盘空间

?显卡:800*600、256色(小)1024*768、256色

2.MSchart安装

?安装完成VS2008(.NET Framework 3.5 SP1)下载地址?

1) dotnetfx35setup.exe

2) MSChart.exe

3) MSChart_VisualStudioAddOn.exe

4) MSChartLP_chs.exe

安装顺序:

(1)dotnetfx35setup.exe

(2)MSChart_VisualStudioAddOn.exe

(3)MSChartLP_chs.exe

(4)MSChart.exe

打开VS2008在工具中新增了Data Chart控件:

MSChart 图表类型

1.Bar and Column Charts 3D or 2D Bar or Column Charts like this page:

?

Stacked charts Bar and Column 3D Bar and Column

2.Line Charts

3. Range Charts

4. Circular charts

5. Accumulation charts

6. Area Chart

7. Pie and Doughnut charts

8. Point charts

9. Advanced Financial charts

10. Combinational Charts

3.MSChart 属性介绍

这些属性在添加chart的时候会有。

开启VS2008 ?新建网站ChartTest 打开工具列:

点击Chart在页面中添加Chart图形,在属性栏中选择Chart类型

================================

昨天在网上看到了微软发布了.NET 3.5框架下的图表控件,第一时间抓下来看了一下,发觉功能很强劲,基本上能想到的图表都可以使用它绘制出来,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式,不过缺点也比较明显,只能在最新的开发环境中使用,需要.N et 3.5 Sp1以及VS 2008的开发环境。

下面是下载地址:

or Microsoft .NET Framework 3.5)–

包含英文版,中文版。上面提供的链接是中文版的,可以更改为英文版。

?语言包:Microsoft Chart Controls for Microsoft .NET Framework 3.5 Language Pa ck

?Microsoft .NET Framework 3.5 的Microsoft 图表控件的语言包,包含23中语言。

?Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008–

这个只有英文的,没找到中文的。

?文档(Microsoft Chart Controls for .NET Framework Documentation)–

这个只有英文的,没找到中文的。

?WinForm 和https://www.sodocs.net/doc/9c17590163.html,的例子(Samples Environment for Microsoft Chart Controls)–

这个只有英文的,没找到英文的。

?Demo 下载:https://www.sodocs.net/doc/9c17590163.html,/mschart

下了它的示例程序后,运行了一下,非常的强大,可以支持各种各样的图形显示,常见的:点状图、饼图、柱状图、曲线图、面积图、排列图等等,同时也支持3D样式的图表显示,不过我觉得最有用的功能还是支持图形上各个点的属性操作,它可以定义图形上各个点、标签、图形的提示信息(Tooltip)以及超级链接、Javascript动作等,而不是像其它图形类库仅生成一幅图片而已,通过这些,加上微软自己的Ajax框架,可以建立一个可以互动的图形统计报表了。

一。安装

控件的安装相对比较简单,下载完后,先执行“MSChart.exe”程序,它会自动检测你的环境,安装到系统目录中去,如果要在VS 2008环境中直接使用,那么需要安装For Vs2008的插件,MSChar t_VisualStudioAddOn.exe,还有一个中文语言包MSChartLP_chs.exe。安装完后,打开Vs2008,在建立项目的时候,你就能在工具栏中看到有一个Chart的控件了,如下图:

二。使用

安装好后,建立一个.NET3.5的Web项目,像使用普通控件一样拖放到要使用的Web界面即可。初步研究了一下,整个图形控件主要由以下几个部份组成:

1.Annotations --图形注解集合

2.ChartAreas --图表区域集合

3.Legends --图例集合

4.Series--图表序列集合(即图表数据对象集合)

5.Titles--图标的标题集合

Annotations注解集合

Annotations是一个对图形的一些注解对象的集合,所谓注解对象,类似于对某个点的详细或者批注的说明,比如,在图片上实现各个节点的关键信息,如下图方框和黄色的小方框:

一个图形上可以拥有多个注解对象,可以添加十多种图形样式的注解对象,包括常见的箭头、云朵、矩行、图片等等注解符号,通过各个注解对象的属性,可以方便的设置注解对象的放置位置、呈现的颜色、大小、文字内容样式等常见的属性。

ChartAreas图表区域集合

ChartAreas可以理解为是一个图表的绘图区,例如,你想在一幅图上呈现两个不同属性的内容,一个是用户流量,另一个则是系统资源占用情况,那么你要在一个图形上绘制这两种情况,明显是不合理的,对于这种情况,可以建立两个ChartArea,一个用于呈现用户流量,另一个则用于呈现系统资源的占用情况。

当然了,图表控件并不限制你添加多少个绘图区域,你可以根据你的需要进行添加。对于每一个绘图区域,你可以设置各自的属性,如:X,Y轴属性、背景等。

需要注意的是,绘图区域只是一个可以作图的区域范围,它本身并不包含要作图形的各种属性数据。

多绘图区效果图如下,分为上下两个绘图区域,分别表示不同的绘图数据:

Legends图例集合

Legends是一个图例的集合,即标注图形中各个线条或颜色的含义,同样,一个图片也可以包含多个图例说明,比如像上面说的多个图表区域的方式,则可以建立多个图例,每别说明各个绘图区域的信息,具体的图例配置说明此处就不详细说明了,可以参考一下官网的例子,写得丰富的详细了:)也上一张图例的效果图吧~

Series图表序列

mschart控件使用详解

一.数据源? 说到绘制图表,可能很多人的第一反应除了是图表呈现的方式外,更关心的便是数据如何添加,记得在很多年前,哪时要绘制一个数据曲线图,一直找不到好的呈现方式,后来使用了SVG的绘图模式,不过在添加数据的时候可谓吃尽了苦头,毕竟,SVG只是一种描述语言,要动态的实现一个图表的绘制,是非常困难的.对于微软的图表控件,数据添加是一件很简单的方式,它支持多种数据添加方式,如: ·可以在图表的设计界面,在属性设置窗口中的Series属性下的Points中添加需要的数据. ·可以在图表的设计界面中,在属性中绑定一个数据源. ·可以在后台代码中,动态添加数据. ·可以在后台代码中设置一个或多个数据源,直接绑定到图表中. 在此处,我只着重讲解一下第3,4两点.对于第3点,相对来说比较简单,在后台代码中,找到要添加代码的Series,通过它下面Points的Add、AddXY、AddY等方法,即可以实现数据的添加.例如: 1.doublet; 2.for(t=0;t<=*;t+=6) 3.{ 4.doublech1=(t); 5.doublech2=2);

6.["Channel1"].(t,ch1); 7.["Channel2"].(t,ch2); 8.} 复制代码 注:代码摘自微软的例子,上例中,Chart1为图表的名字,Channel1、Channel2分别表示两个Series数据序列) 二.绑定数据? 先来看看图表控件都支持什么类型的数据绑定,根据官方文档的说法,只要是实现了IEnumerable接口的数据类型,都可以绑定到图表控件中,例如: DataView,DataReader,DataSet,DataRow,DataColumn,Array,List,SqlCommand,OleD bCommand,SqlDataAdapter,及OleDbDataAdapter对象。 对于开发来说,最常用的还是DataView、DataReader、DataSet、DataRow、Array、List 这几种类型了,有几点需要注意一下: ·图表控件支持多数据源的绑定,例如:X轴绑定一个数据集ds1,Y轴可以绑定另一个数据集ds2,当然也可以是X轴绑定到一个List数据对象,Y轴绑定到一个DataView对象等等。 ·图表控件的绑定方式一般有两种,常规绑定及交差表的绑定。 ·图表控件的Y轴数据,支持一次绑定多个值,以绘制时间、区域、使用量等之类的图形。 绑定数据的流程如下: 2008-11-1022:19:03

dotnetbar控件用法

DotNetBar介绍 DotNetBar是一款带有51个Windows Form 控件的工具箱,使开发人员可以轻而易举地创建出专业美观的Windows Form应用程序用户界面,控件全部采用C#编写,引入了全部Office 2007 style Ribbon控件、Office 2003 样式、支持Windows XP主题等。 DotNetBar for WindowsForms 8.8 全面支持Office 2010 风格的后台应用程序菜单。 具体功能: ●为Office 2007 Ribbon 控件提供了Black,Silver ,Blue三种配色方案,支持Windows Vista Glass、tab groups, ribbon hyper menus, multi-level KeyTips, complete Quick Access Toolbar (QAT),支持Ribbon Menu Tabs ●Office 2007 Ribbon Bar 控件具有组合按钮,弹出按钮等 ●Office 2007 Super Tooltips控件具有18种颜色样式 ●支持停靠窗口自动隐藏,灵活的视图分割 ●支持具有Office 2007, https://www.sodocs.net/doc/9c17590163.html, 2005, Office 2003/XP/2000,样式的Hyper-Menus 和工 具条 ●支持具有Office 2007和2003样式的导航面板,支持扩展和收缩 ●Tab Container控件具有9种不同的样式,16种配色方案,支持颜色自定制 ●Explorer Bar控件使程序员可以创建出具有XP样式的Explorer Bar ●Tab-Strip控件具有九种预定义的样式,支持tabbed MDI ,颜色自定义 ●Side Bar 控件具有两种布局类型、5种不同的样式、18种预定义颜色方案,支持拖拉功能 ●BubbleBar 是一个灵活的toolbar控件 ●Stand alone Bar可以用于创建具有Office 2007 的状态条 ●可扩展的Splitter控件 ●可展开的Panel控件, ●多功能的Panel控件 ●Balloon/Alert控件用于传达一些重要的信息给最终用户 ●Wizard控件支持Wizard97规范,可以创建安装文件。 ●ButtonX 是一个卓越的按钮控件 ●Color Picker控件可以创建具有Office 2007样式的下拉式颜色采集器,程序员也可以自定义 颜色对话框

MSChart控件教程

MSChart控件 这些内容是在学习过程中进行的整理,由于感到书籍资料或软件帮助中有时让人很不容易理解,特制作这个教程,以方便其他朋友学习,从新学习此控件的人的角度 来描述相应的属性,相信也能让跟我一样程度的人更容易理解,可能在学习的过程中 对某些属性与方法有理解不正确,请各位指正。 附录:

1、AllowDynamicRotation 返回目录 作用:返回或设置是否可旋转图表 注:需要图表的ChartType是3d类型才可以,当AllowDynamicRotation=True时,在图表中可按住ctrl+鼠标左键旋转图表。 示例: F列代码在窗体加载时将MSChartl设置为3d柱形图,并允许按住ctrl+鼠标左键旋转。(窗体上放一个MSChart控件) Private Sub Form_Load() With MSChart1 .chartType = VtChChartType3dBar '类型为3d柱形图,类形常数详见附录.AllowD yn amicRotati on = True '允许旋转 End With End Sub 口Forniil A ■

AllowDynamicRotation 值: 下列代码将以对话框的形式返回上面示例的 MsgBox MSChart1.AllowDy namicRotati on True

2、ChartData 返回目录 注:书中及软件帮助文档中说到数组需要变体型数值,是指如果要将数组第一个元素 作为标题,其他作为数据,那个这个数组既有字符又有数字,那么就需要一个变 体形。如果数组中并不包含标题(或是之后使用属性来赋于标题) ,那么数组是可以定义类形的,个人建议先给定数组类型,之后再使用属性来设置标题。 作用:设置:将一个数组的数据作表图表的显示数据 返回:将图表数据赋给一个数组 示例:将数组元素作为图表的显示数据 制作一个1行6列的的图表(数组的维代表图表的行,每维的元素代表列) Private Sub Form_Load() Dim 一维数组(1 To 6) '为了表示得更清楚,我们采取逐个赋值的方法 一维数组(1)= 1 一维数组(2) = 2 一维数组(3) = 3 一维数组(4) = 4 一维数组(5) = 5 一维数组(6) = 6 With MSChartl .chartType = VtChChartType2dBar '类型为3d 柱形图.ChartData = 一维数组() End With End Sub

DotNetBar使用简介

DotNetBar使用简介 这里都是我自从去年开始用dotnetbar这个vs上的美化控件之后的一些使用心得和使用技巧,我现在几乎每次用到这个控件的时候,都会按照下面的技巧,来安排我的这些控件的排列方式啊,style等等,希望给各位一些抛砖引玉的作用,也欢迎大家写出自己的小技巧,让我们的winform程序更加漂亮~~ 几个修改的地方 1、RIBBONTITLE,一开始要留空,后来用代码修改 2、把左上角的圆点的功能删除掉 3、左上角要写成:系统状态:联通中 4、 下来要解决一个问题,就是关于DATAGRID,的TITLE,都要让所有的名称都排下,不要换行 使用RIBBONCONTROL要注意的几个问题: 1、首先将form的text设置为空 2、然后将form的controlbox设置为false 3、然后将form的formborderstyle设置为Sizable 4、最后一步,在ribboncontrol的标题栏写窗口标题,注意不是text而是RibbonControl1.TitleText = “非煤矿山应急救援指挥系统–基本情况数据库” 5、如果你喜欢,我习惯将FORM的STARTPOSITION设置为CENTERSCREEN 使用BAR作为STATESBAR的几个小技巧 1、这个BAR是DOTNETBAR系列里的BAR,而不是其他的:》 2、要将STYLE设置为OFFICE2007 3、将ROUNDCORDERS设置为FALSE会好看一点,我试了试,圆角的怎么看都

不舒服 4、将BARTYPE设置为STATUSBAR 使用GROUPPANEL的小技巧: 1、把BACKCOLOR设置为透明 2、将style中的textlinealignment 设置为center(ps:之前是near实在有点难看,太贴近上部了) 3、内部的label一般使用vs自带的标准label即可,不需要使用ribbon的labelx,我觉得肯定会涉及到painting的问题导致性能下降,而且我觉得 使用PANELEX 1、一般要设置padding为1,1,1,1否则,当内部空间维DOCK FILL的时候,会把PANEL的边框挡住,效果不好看 2、如果PANELEX就在RIBBONCONTROL的里面,一般设置LOCATION为3,0,同时在右侧拖动的时候,拖动到一个恰好位置之后,再把SIZE的宽度加4,这样效果很好 对TABLE类窗口的修改 1、去掉原点下的菜单 2、去掉系统:联通中,右侧的那个QUICKITEM 3、将DATAGRIDVIEWX的LOCATION调整到3,3,同时,将宽度向右增加2 4、将每一个PANELX的TEXT都留空 美化DATAGRIDVIEWX的几点 1、修改ALTERNATINGROWSDEFAULTCELLSTYLE的BACKCOLOR 2、修改COLUMNHEADERSHEIGHT 建立RIBBONCONTROL的几点小细节 1、建立一个FORM,将form的text设置为空,将controlbox设置为false,将startposition设置为centerscreen;

VB6.0中通过MSChart控件调用数据库

《VB6.0中通过MSChart控件调用数据库》 VB6.0中的MSChart控件是一个功能强大的高级图表工具,拥有丰富的图表绘制功能,可显示二维和三维的棒图、区域图、线形图、饼图等多种常用图表。近日我为了在双击图表的某个区域时将与该区域相对应的数据库的内容在DataGrid控件上显示出来,遇到了许多困难,最后用一个自定义的变量SelectSeries解决了问题,具体方法如下:设数据库名称为“学生信息”,有一Access表“学生成绩”,其内容为一个班学生的考试成绩,包括学号、姓名、成绩3个字段,成绩字段格式是字符型,值为“优”、“良”、“中”、“差”中的一个。 窗体Form1包括一个MSChart控件McScore,类型为二维饼图,用于显示每种成绩的学生数;一个ADO控件AdScore用于连接数据库;一个DataGrid控件DgScore用于以表格形式显示数据库内容。 工作过程为:双击饼图的某个区域,则DgScore显示相应成绩的学生名单。 代码如下: Option Explicit Dim SelectedSeries as Integer ′自定义变量 Dim Rs() as String ′提取记录集用的字符串数组 Private Sub Form_Load() ′设定DataGrid控件的数据源 DgScore.DataSource=″AdScore″ ′设定ADO控件的连接字串和初始的记录源,即显示内容 AdScore.ConnectString=″Provider=Microsoft.OLEDB.3.51;Persist_Security Info=False;Data Source=学生信息″ AdScore.RecordSource=″selet *from学生成绩order by成绩″ AdScore.Refresh ′预设好提取记录用的SQL语句 Rs(1)=″select*from学生成绩where成绩=″+Chr(34)+″优″+_Chr(34)+″order by成绩″ Rs(2)=″select *from学生成绩where成绩=″+Chr(34)+″良″+_Chr(34)+″order by成绩″ Rs(3)=″select *from学生成绩where成绩=″+Chr(34)+″中″+_Chr(34)+″order by 成绩″ Rs(4)=″select *from学生成绩where成绩=″+Chr(34)+″差″_Chr(34)+″order by成绩″ End Sub Private Sub McScore_SeriesSelected(Series as Integer,MouseFlags as _Integer,Cancel as Integer) SelectedSeries=Series End Sub Private Sub McScore_PointSelected(Series as Integer,DataPoint as_Integer,MouseFlags as Integer,Cancel as Integer) SelectedSeries=Series End Sub Private Sub McScore_Db1Click()

mschart画散点图

Private Sub Form_Load() Dim MyData(20, 1) As Double '-----x轴坐标值-----Y轴坐标值---------- MyData(0, 0) = 0: MyData(0, 1) = 180 '本句代表了:第一点数据的X轴坐标为0,Y轴坐标为180 MyData(1, 0) = 6: MyData(1, 1) = 60 MyData(2, 0) = 8: MyData(2, 1) = 60 MyData(3, 0) = 11: MyData(3, 1) = 0 MyData(4, 0) = 16: MyData(4, 1) = 0 MyData(5, 0) = 19: MyData(5, 1) = 60 MyData(6, 0) = 25.8: MyData(6, 1) = 60 MyData(7, 0) = 28.8: MyData(7, 1) = 0 MyData(8, 0) = 31.8: MyData(8, 1) = 60 MyData(9, 0) = 40.3: MyData(9, 1) = 60 MyData(10, 0) = 43.3: MyData(10, 1) = 0 MyData(11, 0) = 93.3: MyData(11, 1) = 0 MyData(12, 0) = 96.3: MyData(12, 1) = 60 MyData(13, 0) = 99.3: MyData(13, 1) = 0 MyData(14, 0) = 105.3: MyData(14, 1) = 0 MyData(15, 0) = 135.3: MyData(15, 1) = 0 MyData(16, 0) = 144.3: MyData(16, 1) = 180 MyData(17, 0) = 148.8: MyData(17, 1) = 270

C# 开发复用标准化v1.0

C#开发标准化 (仅供内部使用) V 1.0.0 文档作者:日期: 开发/测试经理:_____________________ 日期: 产品经理:____________________ 日期: 管理办:_____________________ 日期: 浪潮通信信息系统有限公司 版权所有不得复制 本文档版权由浪潮信息系统有限公司所有。未经本公司书面许可,任何单位与个人不得以任何形式摘抄、复制文档的部分或全部,并以任何形式传播

文档修订 抄送人: 编号说明: 本文档编号依照以下原则进行: X.Y.Z X:大版本更新,文档结构变化 Y:具体方案的更改,部分内容的修正 Z: 文字修改,奇数为包含对上一版修改记录的稿子偶数为对上修改稿的定稿

目录 1.标准控件的标准化 标准的控件主要包括:Edit Box、Check Box、Radio Button、Normal Button、Picture Button、List Box、Combox、Label、Groupbox、Progress Bar、Tree Control、Extend Tree Control、Slider、Tab Control、Datetime Control、Month Calendar、Chart control 1.1. Normal Button(按钮): 1.1.1.模板样式 1.1. 2.风格标准化描述 ●上面模板中的风格是在winxp操作系统下呈现的样式; ●使用VS2005默认属性设置。

1.1.3.实现技术、相关组件及用法 ●.NET(2005)标准控件。 1.2. 1.2Picture Button(ButtonX): 1.2.1.模板样式 1.2.2.风格标准化描述 ●上面模板中的风格是在winxp操作系统下呈现的样式; ●DotNetBar中的ButtonX控件; ●上面模板在VS2005开发环境中使用。 1.2.3.实现技术、相关组件及用法 ●用上面的控件能够根据属性设置的不同呈现不同的样式; ●控件“ButtonX”的使用参见DotNetBar中的相关例子,如果按默认路径安装DotNetBar 路径应该是“C:\Program Files\DotNetBar\Samples\ButtonX”。

mschart控件使用详解

一.数据源 说到绘制图表,可能很多人的第一反应除了是图表呈现的方式外,更关心的便是数据如何添加,记得在很多年前,哪时要绘制一个数据曲线图,一直找不到好的呈现方式,后来使用了SVG的绘图模式,不过在添加数据的时候可谓吃尽了苦头,毕竟,SVG只是一种描述语言,要动态的实现一个图表的绘制,是非常困难的.对于微软的图表控件,数据添加是一件很简单的方式,它支持多种数据添加方式,如: ·可以在图表的设计界面,在属性设置窗口中的Series属性下的Points中添加需要的数据. ·可以在图表的设计界面中,在属性中绑定一个数据源. ·可以在后台代码中,动态添加数据. ·可以在后台代码中设置一个或多个数据源,直接绑定到图表中. 在此处,我只着重讲解一下第3,4两点.对于第3点,相对来说比较简单,在后台代码中,找到要添加代码的Series,通过它下面Points的Add、AddXY、AddY等方法,即可以实现数据的添加.例如: 1. double t; 2. for(t = 0; t <= (2.5 * Math.PI); t += Math.PI/6) 3. { 4. double ch1 = Math.Sin(t); 5. double ch2 = Math.Sin(t-Math.PI/2); 6. Chart1.Series["Channel 1"].Points.AddXY(t, ch1);

7. Chart1.Series["Channel 2"].Points.AddXY(t, ch2); 8. } 复制代码 注:代码摘自微软的例子,上例中,Chart1为图表的名字,Channel 1、Channel 2分别表示两个Series数据序列) 二.绑定数据 先来看看图表控件都支持什么类型的数据绑定,根据官方文档的说法,只要是实现了IEnumerable接口的数据类型,都可以绑定到图表控件中,例如:DataView, DataReader, DataSet, DataRow, DataColumn, Array, List, SqlCommand, OleDbCommand, SqlDataAdapter, 及OleDbDataAdapter对象。 对于开发来说,最常用的还是DataView、DataReader、DataSet、DataRow、Array、List这几种类型了,有几点需要注意一下: ·图表控件支持多数据源的绑定,例如:X轴绑定一个数据集ds1,Y轴可以绑定另一个数据集ds2,当然也可以是X轴绑定到一个List数据对象,Y轴绑定到一个DataView对象等等。 ·图表控件的绑定方式一般有两种,常规绑定及交差表的绑定。 ·图表控件的Y轴数据,支持一次绑定多个值,以绘制时间、区域、使用量等之类的图形。 绑定数据的流程如下: 2008111015142478.png (44.03 K) 2008-11-10 22:19:03

C# MSChart图表控件使用介绍

C# MSChart 图表控件使用介绍 (2011-08-23 13:05:11) 转载 ▼ 标签: c mschart 图表 chart 使用介绍 分类: MSChart 图表 1、安装MSChart 控件 VS2008在默认下是没有MSChart 控件,所以我们需要下载安装。 Chart For vs2008安装需要下载4个文件: (1)dotnetfx35setup.exe (2)MSChart_VisualStudioAddOn.exe (3)MSChartLP_chs.exe (4)MSChart.exe https://www.sodocs.net/doc/9c17590163.html,/u/ish 然后分别安装,安装结束之后打开VS2008就可以在工具箱中看到Chart 图表控件: 2、添加MSChart 控件 为WinForm 窗体添加Chart 控件

3、设置MSChart控件的属性 设置MSChart控件属性方法两种:1、代码中设置属性;2、属性表设置属性 1、代码中设置属性 步骤1:添加引用 using System.Windows.Forms.DataVisualization.Charting; 步骤2:写入代码 namespace MSChart { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { ////////////////////ChartArea1属性设置/////////////////////////// //设置网格的颜色 chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineColor = Color.LightGray; chart1.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineColor = Color.LightGray; //设置坐标轴名称 chart1.ChartAreas["ChartArea1"].AxisX.Title = "随机数"; chart1.ChartAreas["ChartArea1"].AxisY.Title = "数值";

dotbar2使用技巧

1----------------------------------------------------- DotNetBar的SuperTooltip控件使用技巧 DotNetBar是一个顶尖的.net第三方表示层空间。作出来的窗口可以说是非常非常非常的cool!SuperTooltip控件主要可以用于实现提示框。在它提供的sample 中,实现了树视图中,鼠标移动到树节点上时显示的提示框。 我的一个项目中用到了树视图,在项目完成以后我决定把它用DotNetBar美化一下。在参考着sample的代码对我的代码进行修改和调试的过程中,我发现sample 的代码并不是拿来用就行了的,还是需要理解以后进行修改。 按照sample的代码,假设我们的Form Form1中有控件TreeView treeView1,那么为treeView1实现提示框的方法如下:(我没用窗口编辑器,只修改代码来着) 1在项目的引用中添加DevComponents.DotNetBar。新建一个类NodeSuperTooltipProvider,将sample中的这个类的代码复制过来。注意,如果你的程序里的树节点不是用的.net自带组件TreeNode,而是从TreeNode继承而来的自定义类型,那么将以下所有代码中的TreeNode都改成你自定义的类型,并且很多地方也要加入强制类型转换。 using System; using https://www.sodocs.net/doc/9c17590163.html,ponentModel; using System.Drawing; using System.Windows.Forms; namespace SuperTooltip { ///

/// Wrapper so SuperTooltips can be displayed for node objects. /// public class NodeSuperTooltipProvider : Component, DevComponents.DotNetBar.ISuperTooltipInfoProvider { private TreeNode m_Node=null; /// /// Creates new instance of the object. ///

DoNetBar使用教程

我这里讨论的版本是DotNetBar 6.7.0.1 for VS2005的破解版本,其他版本我一个是没有时间找到,另外也是因为大同小异 下载地址,见这里,如果还有哪个朋友下载不了,就加我QQ吧,如果你能提供一个群,我会写在这里,然后利用群空间来整理控件,方便你我 下载地址是 https://www.sodocs.net/doc/9c17590163.html,/soft/show.asp?id=2879&showasp=1&details.html 在VS2005中的添加方法与IRISSKIN2类似,不过我这里再说一次: 先把控件拷到你的程序BIN/Debug下,再到程序里,先引用,然后再工具栏新个一个选项,然后右键选择“选择项”菜单,在这个对话框里点浏览,里把这个DLL重新添加进来,这样,就可以把控件加到先项框里,接下来就是把控件拖到界面上,在代码里加上上面的说明的代码,就可以使用了。有好几十个空间,可以把你的程序装扮成office2007。很COOL!这里转几篇使用的日志: 1-----------------------------------------------------

DotNetBar的SuperTooltip控件使用技巧 DotNetBar是一个顶尖的.net第三方表示层空间。作出来的窗口可以说是非常非常非常的cool!SuperTooltip控件主要可以用于实现提示框。在它提供的sample中,实现了树视图中,鼠标移动到树节点上时显示的提示框。 我的一个项目中用到了树视图,在项目完成以后我决定把它用DotNetBar美化一下。在参考着sample的代码对我的代码进行修改和调试的过程中,我发现sample的代码并不是拿来用就行了的,还是需要理解以后进行修改。 按照sample的代码,假设我们的Form Form1中有控件TreeView treeView1,那么为treeView1实现提示框的方法如下:(我没用窗口编辑器,只修改代码来着) 1在项目的引用中添加DevComponents.DotNetBar。新建一个类NodeSuperTooltipProvider,将sample中的这个类的代码复制过来。注意,如果你的程序里的树节点不是用的.net自带组件TreeNode,而是从TreeNode继承而来的自定义类型,那么将以下所有代码中的TreeNode都改成你自定义的类型,并且很多地方也要加入强制类型转换。 using System; using https://www.sodocs.net/doc/9c17590163.html,ponentModel; using System.Drawing; using System.Windows.Forms; namespace SuperTooltip { ///

/// Wrapper so SuperTooltips can be displayed for node objects. /// public class NodeSuperTooltipProvider : Component, DevComponents.DotNetBar.ISuperTooltipInfoProvider

mschart使用说明1

介绍MSChart的常用属性和事件 MSChart的元素组成 最常用的属性包括 ChartAreas:增加多个绘图区域,每个绘图区域包含独立的图表组、数据源,用于多个图表类型在一个绘图区不兼容时。 AlignmentOrientation:图表区对齐方向,定义两个绘图区域间的对齐方式。 AlignmentStyle:图表区对齐类型,定义图表间用以对其的元素。 AlignWithChartArea:参照对齐的绘图区名称。 InnerPlotPosition:图表在绘图区内的位置属性。 Auto:是否自动对齐。 Height:图表在绘图区内的高度(百分比,取值在0-100) Width:图表在绘图区内的宽度(百分比,取值在0-100) X,Y:图表在绘图区内左上角坐标 Position:绘图区位置属性,同InnerPlotPosition。 Name:绘图区名称。 Axis:坐标轴集合 Title:坐标轴标题 TitleAlignment:坐标轴标题对齐方式 Interval:轴刻度间隔大小 IntervalOffset:轴刻度偏移量大小 MinorGrid:次要辅助线 MinorTickMark:次要刻度线 MajorGrid:主要辅助线 MajorTickMark:主要刻度线

DataSourceID:MSChart的数据源。 Legends:图例说明。 Palette:图表外观定义。 Series:最重要的属性,图表集合,就是最终看到的饼图、柱状图、线图、点图等构成的集合;可以将多种相互兼容的类型放在一个绘图区域内,形成复合图。 IsValueShownAsLabel:是否显示数据点标签,如果为true,在图表中显示每一个数据值 Label:数据点标签文本 LabelFormat:数据点标签文本格式 LabelAngle:标签字体角度 Name:图表名称 Points:数据点集合 XValueType:横坐标轴类型 YValueType:纵坐标轴类型 XValueMember:横坐标绑定的数据源(如果数据源为Table,则填写横坐标要显示的字段名称) YValueMembers:纵坐标绑定的数据源(如果数据源为Table,则填写纵坐标要显示的字段名称,纵坐标可以有两个) ChartArea:图表所属的绘图区域名称 ChartType:图表类型(柱形、饼形、线形、点形等) Legend:图表使用的图例名称 Titles:标题集合。 width:MSChart的宽度。 height:MSChart的高度。 常用事件:

MFC画图的强大工具MSChart的使用

MFC画图的强大工具MSChart的使用 图表由于其直观明了的特性,在实际应用中十分很广泛。我们常常希望数据能通过图表来显示其特性。例如在Delphi和C++Builder编程中,我们可以很方便地实现数据图表。MsChart(6.0或5.0版)是Windows 系统中Visual studio自带的一个ACTIVEX控件,它功能强大,应用广泛,具有以下特点: ·支持随机数据和随机数组,动态显示。 ·支持所有主要的图表类型。 ·支持三维显示。 下面是一个实例: 程序运行效果图 一、在工程中加入mschart 菜单->Project->Add To Project->Components and Controls->Registered ActiveX Controls->Microsoft Chart Control, version 6.0 (OLEDB) 二、在CDemoView中加入:CMSChart m_Chart 三、创建及设置m_Chart 3.1 在CDemoView::OnCreate 中创建CMSChart 1.// CDemoView::OnCreate() 2.CRect rc;

3.GetClientRect(&rc); 4.if(!m_Chart.Create("mschart", WS_CHILD| WS_VISIBLE, rc, this, 10)) 5.return-1; 3.2 在CDemoView::OnSize 中调整m_Chart 的大小,使之能随窗口大小变化而变化 1.// CDemoView::OnSize 2.if( m_Chart.GetSafeHwnd() ) 3.m_Chart.MoveWindow( 0, 0, cx, cy ); 3.3 设置m_Chart 01.void CDemoView::InitChart() 02.{ 03.// 设置标题 04.m_Chart.SetTitleText("mschart 示例 by thinkry@https://www.sodocs.net/doc/9c17590163.html,"); 05.// 下面两句改变背景色 06.m_Chart.GetBackdrop().GetFill().SetStyle(1); 07.m_Chart.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255, 255, 255); 08.// 显示图例 09.m_Chart.SetShowLegend(TRUE); 10.m_Chart.SetColumn(1); 11.m_Chart.SetColumnLabel((LPCTSTR)"1号机"); 12.m_Chart.SetColumn(2); 13.m_Chart.SetColumnLabel((LPCTSTR)"2号机"); 14.m_Chart.SetColumn(3); 15.m_Chart.SetColumnLabel((LPCTSTR)"3号机"); 16.// 栈模式 17.// m_Chart.SetStacking(TRUE); 18.// Y轴设置 19.VARIANT var; 20.m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(FALSE); / / 不自动标注Y轴刻度 21.m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMaximum(100); // Y轴最大刻度 22.m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMinimum(0); // Y轴最小刻度 23.m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMajorDivision( 5); // Y轴刻度5等分 24.m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetMinorDivision( 1); // 每刻度一个刻度线

DotNet第三方控件使用笔记

DotNet第三方控件使用笔记 0、 1)ButtonX控件 可实现如下效果: 在ButtonX上,是否显示“图像,取决于“images“属性 2)在“buttomItem“控件中,是否“只是显示图像”,”只是文本”,还是“图像和文本都显示”,取决于 1、BalloonTio控件(气泡提示) (1)使用效果 1)效果一:在鼠标在控件上面停留时,出现提示信息,如下图: 2)效果二:当控件获得焦点时,也出现如上图一样的信息。 (2)实现上述两种效果的途径 1)将BalloonTip控件的“ShowBalloonOnFacus”属性设置为“False”即可实现,效果一。 2)将“ShowBalloonOnFacus”属性设置为“True”,即可实现效果二。 (3)设置BalloonTip显示的内容: 在欲设置该属性的控件的“BalloonTioOnFocus上的BalloonCaption”和 “BalloonTioOnHover上的BalloonCaption”属性中,分别设置这两种效果的“标 题”属性; 在“BalloonTioOnFocus上的BalloonText”和在“BalloonTioOnHover上的 BalloonText”属性中,分别设置这两种效果的“显示内容”的属性。

(4)属性“AlerAnimation”设置“BalloonTip”出现的效果, (5)“BalloonTip”除了出现在该控件附近,还可以出现在屏幕的右下角,示例程序如下: private AlertCustom m_AlertOnLoad=null; m_AlertOnLoad=new AlertCustom(); Rectangle r=Screen.GetWorkingArea(this); m_AlertOnLoa d.Location=new Point(r.Right-m_AlertOnLoad.Width,r.Bottom-m_AlertOnLoad.Height); m_AlertOnLoad.AutoClose=true; m_AlertOnLoad.AutoCloseTimeOut=15; m_AlertOnLoad.AlertAnimation=eAlertAnimation.BottomToTop; m_AlertOnLoad.AlertAnimationDuration=300; m_AlertOnLoad.Show(false);//false::指示该控件是否需要获得焦点才出现“BalloonTip” (6)“BalloonTip”除了可以通过“添加控件”的方式使用,也可以通过编程的方式使用,示例程序如下: DevComponents.DotNetBar.Balloon b=new DevComponents.DotNetBar.Balloon(); b.Style=eBallonStyle.Alert; b.CaptionImage=balloonTipFocus.CaptionImage.Clone() as Image; b.CaptionText="Balloon Status Information"; b.Text="Balloons are now enabled for Balloon Tip Test area. Hover mouse over the area and set the focus to any control."; b.AlertAnimation=eAlertAnimation.TopToBottom; b.AutoResize(); b.AutoClose=true; b.AutoCloseTimeOut=4; b.Owner=this;//指示父控件 b.Show(button2,false);//button2::指示在那个控件附近出现“BalloonTip” (7)还可以对“BalloonTip”出现时的效果进行程序控制,如下: // BalloonTriggerControl property returns control that invoked balloon // BalloonTriggerControl属性返回触发“BalloonTip”的控件 if(balloonTipHover.BalloonTriggerControl==groupBox1) { // BalloonControl is already prepared Balloon control that is just about to be displayed // Setting BalloonControl to null will cancel balloon display Point p=Control.MousePosition; // Adjust cursor position so cursor is below tip p.Offset(-balloonTipHover.BalloonControl.TipOffset,balloonTipHover.BalloonControl.TipLength+ 4); //Offset属性将点p进行平移 balloonTipHover.BalloonControl.Location=p; } (8)与之类似的是DotNetToolTip所有控件都有的“ToolTip”属性,也可以是控件在鼠标划过时出现类

并口定义及并口编程基础

并口定义及并口编程基础 一、接口定义说明 电脑的并口,通常是25针. 接口定义如下: 针方向 2,3,4,5,6,7,8,9 双向 1,14,16,17 输出 10,11,12,13,15 输入 18,19,20,21,22,23,24,25 地 功能说明: 二、并口编程基础 这些引脚,其实就是I/O口。而且是可以控制的,以软件的方式,非常简单。 在计算机内部,对应的寄存器如下: 0x378是8bit数据寄存器的地址,对应并口针的顺序是9,8,7,6,5,4,3,2 0x379是状态寄存器,11,10,12,13,15 - - - 0x37A是控制寄存器,- - - 并口中断允许位,17,16,14,1 也就是说PC的0x378可以用来做输入和输出,0x37A的低4位可以用来输出,0x379是输入。这样就可以用并口模拟很多时许,比如IIC、JTAG、SPI等等。 注意:上述的寄存器地址是以0x378为基地址的。如果基地址为0x3F0,那么他们的数据、状态、控制寄存器地址分别为0x3F0、0x3F1、0x3F2。(基地址缺省的是0x378,也可在BIOS里重新设置)

用VB编程控制并口的数据进行数据采集 悬赏分:80 - 提问时间2007-4-30 16:02问题为何被关闭 基于PC机并行口接口电路的设计 2.5 EPP模式接口电路设计 EPP(Enhanced Parallel Port)是一种与标准并行口兼容且能完成双向数据传输的协议。增强型并口(EPP)除能实现双向数据传输之外,进行了以下几个方面的扩展: 3.1 EPP模式下接口电路的数据采集系统 数据采集系统在工业测控以及试验室研究方面的应用非常广泛,随着科学技术的发展,数据采集技术被普遍认为是现代科学研究和技术发展的一个重要方面。数据采集系统正向着高精度、高速度、稳定可靠和集成化的方向发展。由于计算机技术的高速发展,基于个人计算机控制的数据采集系统的应用非常普遍;而另一方面,便携式数据采集系统在很多场合(如野外、工业现场数据样本采集等)也具有较强的优势。为适应计算机处理的需要,这样的数据采集系统往往应有与计算机通讯的接口。 3.2 EPP接口电路的软件设计 1.因为ADC0809被接成自启动方式,所以当电源接通时A/D转换开始。 2.选择采集通道,如果选择单通道采集则只选择通道一次,如果选择多通道采集则每次循环要经过通道选择。 3.选择采集速度。不同的速度使用的读数据循环方式不同,速度越快,每秒采集的数据点越多。 4.数据采集读出数据。对读出的数据进行处理,转化为所需的格式,进行显示存储。 3.2.3全程采集 将采集的数据以波形的形式显示的方法有三种,第一种方法是将数据点以一个小点的形式依次显示在一个区域中;第二种方法是使用MSChart控件;第三种是使用专门的图形显示控件。第一种方法实现比较麻烦,要把数据点的值换算成屏幕上的坐标值;第二种方法在动态显示时有闪烁的问题,显示速度快时,闪烁得非常严重。为了编程简便和达到好的显示效果,所以使用专门的图形显示控件Trend.ocx。Trend控件可用于工业监控,科学,数据采集分析等领域的数据显示、分析、打印。它能同时显示多组二维实时数据,可以生成扫描图、曲线图、折线图、逻辑图、打点图、面积图、棒图等多种图样;支持曲线任意拉伸缩放,鼠标滚动查看;自带打印功能,可以轻松将图形输出到打印机;内置数据统计分析功能,包括最小值、最大值,平均值等;可定义报警区域,指定颜色或图片;通过数据游标提供了强大的数据观察分析功能;同时提供了灵活的自定义功能,让用户轻松自定义文本、字体、颜色、刻度等。可见Trend控件功能强大,可以满足波形显示的要求。因为,VB中调用一个控件需要一定的时间,如果将每一个采集的数据都显示,则数据采集的速度受到了限制。在P4的电脑上每秒大约能显示100个数据点。为了加快显示的速度,Trend除了能一次显示一个数据点外,Trend可以一次显示一个数组中的数据点。因为读取端口和将采集数据保存到数组所用的时间比调用VB控件的速度快很多,所以通过改变数组的大小,就可以控制数据显示的速度。 3.2.4数据的保存与回放 为了将数据采集所得的有用数据保存并做进一步处理和分析,需要将采集的数据保存为文件格式。在本系统中使用一个数组来保存采集得到的数据。定义了数组data(19999),此数组中可以放入20000个数据,定义一个公有变量i,每采集一个数据i加1,将采集到的数据保存

相关主题