科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用C#创建PDA应用程序的柱形图控件

用C#创建PDA应用程序的柱形图控件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文的重点不在于编写控件的代码,而在于如何创建设计时自定义控件以及如何将它添加到\\\"工具箱\\\"中。

作者:黎宇 来源:天极开发 2007年11月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
3. 在解决方案资源管理器中,右击"引用",然后单击"添加引用"。

  4. 在"添加引用"对话框中的".NET"选项卡上,单击"System.Drawing",然后单击"选择"。

  "System.Drawing"会出现在"选定的组件"下。

  5. 对"System.Windows.Forms"重复步骤 4 并单击"确定"。

  "System.Drawing"和"System.Windows.Forms"都会出现在解决方案资源管理器的"引用"下。

  6. 在"生成"菜单上,单击"生成解决方案"。

  将生成控件 PDAChartControlControl.dll 的运行时版本并将其放在目录 Projects_Directory\PDAChartControlContro\bin\Debug\ 中。

  7. 在"文件"菜单中,单击"关闭解决方案"。

  由于生成了控件的运行时版本,接下来可以为设计器支持生成设计时版本。

  生成自定义控件的设计时版本

  1. 打开 Visual Studio .NET 命令提示。

  注意 要打开 Visual Studio .NET 命令提示,请单击"开始",再依次指向"程序"、"Microsoft Visual Studio .NET 2003"和"Visual Studio .NET 工具",然后单击"Visual Studio .NET 命令提示"。

  2. 切换到包含 PDAChartControlControl.cs 的目录。

  3. 在命令提示处键入以下内容:

csc /noconfig /define:NETCFDESIGNTIME /target:library /out:design.PDAChartControlControl.dll PDAChartControlControl.cs /r:"C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Design.dll" /r:"C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Windows.Forms.dll" /r:"C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Drawing.dll" /r:System.Windows.Forms.dll /r:System.Drawing.dll /r:System.dll /r:System.XML.dll /r:System.Web.Services.dll /r:System.Data.dll /nowarn:1595

  这将生成自定义控件的设计时版本。文件 design.PDAChartControlControl.dll 放置在当前目录中。

  将自定义控件添加到工具箱

  由于编译了控件的运行时和设计时版本,接下来可以将该控件添加到"工具箱",并在智能设备应用程序中使用它了。

  将自定义控件添加到"工具箱" 的步骤:

  1. 将文件 design.PDAChartControlControl.dll 复制到目录 Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer 中。

  2. 将文件 PDAChartControlControl.dll 复制到目录 Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE 中。

  3. 在"视图"菜单上单击"工具箱"。

  4. 右击"常规",然后单击"显示所有选项卡"。

  5. 单击"设备控件"以显示设备上可用控件的完整列表。

  6. 右击"指针",然后单击"添加/移除项"。

  7. 在"自定义工具箱"对话框的".NET Framework 组件"选项卡上,单击"浏览"。

  8. 选择"design.PDAChartControlControl.dll"并单击"打开",将"PDAChartControl"控件添加到"自定义工具箱"对话框中的组件列表。

  9. 在 .NET Framework 组件列表中选择"PDAChartControl"控件,然后单击"确定"。

  "PDAChartControl"控件即被添加到"工具箱"中。

  测试自定义控件

  由于自定义控件出现在"工具箱"中,接下来可以使用 Windows 窗体设计器将它拖到窗体上。

  将自定义控件添加到窗体

  1. 在"文件"菜单上指向"新建",然后单击"项目"。

  2. 在"新建项目"对话框中的"项目类型"下,单击"Visual C# 项目",并在"模板"下单击"智能设备应用程序"。

  3. 在"名称"框中,键入"PDAChartControlControlTest",然后单击"确定"。

  4. 在"智能设备应用程序向导"中,单击上窗格中的"Pocket PC"和下窗格中的"Windows 应用程序",然后单击"确定"。

  创建了新项目,Form1.cs 在设计器中打开。

  5. 从工具箱将"PDAChartControl"控件拖到窗体上。

  自定义控件即被添加到窗体上,指向 PDAChartControlControl 的引用则被添加到项目中。

  注意 如果工具箱不可见,则在"查看"菜单上,单击"工具箱"。



  自动生成的代码如下:

PDAChartControl.PDAChart MyGraph=new PDAChartControl.PDAChart();

this.pdaChart1.AxesXColor = System.Drawing.SystemColors.HighlightText;
this.pdaChart1.AxesYColor = System.Drawing.SystemColors.Info;
this.pdaChart1.BackColor = System.Drawing.SystemColors.ControlLight;
this.pdaChart1.ChartType = PDAChartControl.PDAChart.ChartTypeEnum.CakeChart;
this.pdaChart1.DataColumnName = "DataID";
this.pdaChart1.GridLineColor = System.Drawing.Color.Cyan;
this.pdaChart1.hScrollBarVisible = true;
this.pdaChart1.IsShowGrid = true;
this.pdaChart1.Location = new System.Drawing.Point(8, 24);
this.pdaChart1.PicHeight = 20;
this.pdaChart1.ShowColumnName = "ShowID";
this.pdaChart1.Size = new System.Drawing.Size(224, 240);
this.pdaChart1.Text = "pdaChart1";
this.pdaChart1.TextFont = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular);
this.pdaChart1.Title = "统计图";
this.pdaChart1.TitleFont = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Regular);
this.pdaChart1.hScrollBar1.Visible=false;
this.Controls.Add(this.pdaChart1);

  6. 生成测试数据

//测试数据
this.pdaChart1.dataTable=CreateQueryTable();
this.pdaChart1.DataColumnName= "DataID";
this.pdaChart1.ShowColumnName= "ShowID";

//建立查询明细表
private DataTable CreateQueryTable()
{
DataTable dt=new DataTable("query");
dt.Columns.Add("DataID");
dt.Columns.Add("ShowID");
for(int i=0;i<10;i++)
{
DataRow dr=dt.NewRow();
dr["DataID"]=(i+1)*10;
dr["ShowID"]=(i+1).ToString() ;
dt.Rows.Add(dr);
}
return dt;
}

  7. 在"设备"工具栏的"部署设备"框中,选择要用作目标的设备。

  8. 在"调试"菜单上单击"开始执行(不调试)"。

  编译该应用程序并将其部署到目标设备上(与运行时所需的任何其他库一起),然后在设备上启动该应用程序。

  执行结果如下:

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章