当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET可交互式位图窗体设计(8)

ASP.NET
安装IE补丁后ASP.NET将无法运行
在ASP.Net中应用Javascript
用ASP.NET 1.1 新特征防止Script攻击
ASP.NET中在线用户统计的简单实现及讨论
ASP.NET中将数据输出到Excel
在ASP.NET中从SQL Server检索图片
ASP.NET系统用户权限设计与实现
利用ASP.NET技术动态生成HTML页面
大数量查询分页显示 微软的解决办法
ASP.NET WEB页面多语言支持解决方案
ASP.NET 2.0里轻松获取数据库连接统计数据
ASP.NET通过DSO访问分析服务器的权限问题
ASP实现禁止从外部提交数据
Asp.Net 使用 GDI+ 绘制3D饼图入门篇源码
在ASP.NET中点击一个按钮后让它变灰的简单方法
利用JS在asp.net中实现左导航页的隐藏
asp.net中一次更新DATAGRID中所有记录
用Asp.net屏蔽F5、Ctrl+N、Alt+F4
asp.net中用C#实现站点计数器用户控件
认识ASP.NET配置文件Web.config

ASP.NET可交互式位图窗体设计(8)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 139 ::
收藏到网摘: n/a

按钮单击事件处理程序
    接下来就是每个按钮的按钮单击事件处理程序。多数仅仅是向绘图列表中添加一个新的可绘制对象,然后调用 PictureBox 上的 Invalidate,从而使用更新的绘图列表进行重绘。典型的按钮事件处理程序代码如下所示:
  
  
    C#
  private void AddPoint_Click(object sender, System.EventArgs e) {
  drawingList.Add(new DPoint(GetRandomPoint(), Color.Blue));
  Drawing.Invalidate();
  }
  
    Visual Basic
  
  .NET Private Sub AddPoint_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles AddPoint.Click
  drawingList.Add(New DPoint(GetRandomPoint(), Color.Blue))
  Drawing.Invalidate()
  End Sub
  
  
    Change fills to hot pink(将填充色更改为粉红)按钮有一些不同 -- 它在列表中获得一个所有可填充对象的数组,然后将它们的画笔颜色更改为粉红。这部分代码显示在前面“返回可填充列表”一节的末尾。(此外还必须使 PictureBox 无效。)
  
    最后,Erase All(全部删除)按钮简单地创建了一个新的绘图列表,并将我们的 drawingList 字段指向该列表。这样便释放了旧的绘图列表以进行最后的内存回收。然后使 PictureBox 无效,把自己也删除掉。
  
    PictureBox 画图事件处理程序
    我们要注意的最后一项就是在 PictureBox 中画出图像。为此,需要处理 PictureBox 生成的 Paint 事件,然后使用通过此事件传递的 Graphics 对象在其上进行绘图。要进行绘图,只需调用绘图列表的 DrawList 方法 -- 一个 for each 循环和多态将负责处理剩下的工作!
  
  
    C#
  private void Drawing_Paint(object sender,
  System.Windows.Forms.PaintEventArgs e) {
  drawingList.DrawList(e.Graphics);
  }
  
  
    Visual Basic
  
  .NET Private Sub Drawing_Paint(ByVal sender As Object, _
  ByVal e As System.Windows.Forms.PaintEventArgs) _
  Handles Drawing.Paint
  drawingList.DrawList(e.Graphics)
  End Sub
  
  
    我们的 Windows 窗体应用程序之旅到此结束 -- 请斟酌这些代码并进行修改,这样可以学到更多内容!
  
    在 ASP.NET 应用程序中使用可绘制对象
    虽然 ASP.NET Web 应用程序和 Windows 窗体应用程序之间存在某些不同,但两者的相似性还是令 Dr. GUI 感到惊奇!
  
    Web 窗体应用程序的主要部分
    ASP.NET Web 窗体应用程序的主要部分与 Windows 窗体应用程序的各部分非常对应。
  
    页面
    此项对应 Windows 窗体应用程序中的主窗口。页面是所有按钮和其他控件的容器。
  
    按钮
    同样,这里有一组按钮,可用于在窗体上执行各种操作。请注意,与以前的应用程序不同,我们将页面文档的 pageLayout 属性设置为 GridLayout 而不是 FlowLayout。这意味着我们可以通过像素位置定位每个按钮(以及其他控件)。
  
    请注意,这里也有一些文本框。
  
    还要注意,您不能向 Web 复制和粘贴 Windows 窗体控件 -- 必须重新创建整个页面。
  
    图像控件
    图像控件对应于 Windows 窗体应用程序中的 PictureBox。但两者有一些重要的差别:图像控件不生成 Paint 消息,而是包含加载图像的 URL。
  
    我们将这个 URL 设置为第二个 Web 页,ImageGen.aspx。换句话说,我们有一个 Web 页,它的全部工作就是从我们的绘图列表中生成图像中的位,然后将图像发送到客户端的 Web 浏览器。
  
    我们将在下面讨论其代码。
  
    Web 窗体应用程序的主要例程
    Windows 窗体应用程序和 Web 窗体应用程序的代码之间存在一些重要不同 -- 但也有某些有趣的相似之处。还要注意,可绘制对象文件中的所有代码都可以用于三种应用程序中的任何一种。