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

ASP.NET
赫赫大名的A*寻路算法(vb.net版本)
asp.net(c#)下Jmai去说明 使用与下载
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
asp.net下gridview 批量删除的实现方法
用CSS实现图片倾斜 只支持IE
.net get set用法小结
vs 不显示行号的操作方法
ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
ASP.Net不执行问题一解
asp.net 无限分类
让VS2008对JQuery语法的智能感知更完美一点
扩展方法ToJSON() and ParseJSON()
asp.net下PageMethods使用技巧
Linq to SQL Delete时遇到问题的解决方法
实现ASP.NET多文件上传程序代码
ASP.NET AJAX 1.0 RC开发10分钟图解
asp.net get set用法
ASP.NET下使用WScript.Shell执行命令
asp.net2.0实现邮件发送(测试成功)
Asp.net 无限级分类实例代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 61 ::
收藏到网摘: 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 窗体应用程序的代码之间存在一些重要不同 -- 但也有某些有趣的相似之处。还要注意,可绘制对象文件中的所有代码都可以用于三种应用程序中的任何一种。