- 博客(727)
- 资源 (53)
- 收藏
- 关注
翻译 Head First C# 中文版 第13章 控件和图形 page593
图像资源是储存在Bitmap对象中的图形文件被包含在项目中的时候,它们会怎么被处理?你已经知道可以通过Properties.Resources来访问它们。但是它们到底会怎么被处理?.NET把图片以Bitmap对象的形式返回给你: 然后每一个Bitmap被绘制到屏幕上
2009-08-01 20:45:00 662
翻译 Head First C# 中文版 第13章 控件和图形 page592
使用Graphics对象缩放Bitmap我们来仔细研究一下添加到渲染器中的ResizeImage()方法。首先,它创建一个Bitmap对象,其尺寸正是图片需要被缩放到的尺寸。然后使用Graphics.FromImage()方法来创建一个新的Graphics对象。使用Graphics对象的DrawImage
2009-08-01 11:45:00 586
翻译 Head First C# 中文版 第13章 控件和图形 page591
需要改进图形性能的方法就是给渲染器添加一个方法来缩放图片。然后我们就可以在每张图片载入之后缩放它,而且只在BeeControl中和蜂巢窗体中使用缩放过之后的版本。如下做:①给渲染器添加一个ResizeImage方法所有保存在项目中的图片都是以Bitmap对象的形式存在的。下面是一个缩放图片的静
2009-08-01 09:45:00 711
翻译 Head First C# 中文版 第13章 控件和图形 page590
仔细研究一下那些性能问题你下载的那些蜜蜂的图片都很大。这就意味着PictureBox在显示它们的时候需要缩放,而缩放图片需要耗费很多时间。很多蜜蜂在蜂巢中飞舞的时候程序会变慢的原因是因为蜂巢的图片很巨大。当你把BeeControl的背景设置为透明的时候,有两件事儿要做:首先需要缩小图片,然后需缩小窗体背景的一部分,这样就可以把它绘制到蜜蜂背
2009-07-31 20:23:00 675
翻译 Head First C# 中文版 第13章 控件和图形 page589
看起来不错,但是有的东西不太对仔细观察一下飞舞在蜂巢和花朵之间的蜜蜂,你将会发现蜜蜂们被渲染的方式有些问题。还记得你把BeeControl的BackColor属性设置为Color.Transparent了吗?不幸的是,这并不足以使得程序避免问题,这些问题在图形程序中是很常见的。①有一些很严重的性能问题
2009-07-31 17:17:00 555
翻译 Head First C# 中文版 第13章 控件和图形 page587
问:你通过调用Show()方法来显示窗体,但是传递this进去作为参数是什么意思?答:Show()方法有一个重载过的版本,接受一个参数,作为父窗体。问:你可以修改已经存在的控件的代码吗?答:不可以访问内建的控件的代码。你
2009-07-30 16:48:00 635
翻译 Head First C# 中文版 第13章 控件和图形 page586
现在把主窗体和两个新窗体蜂巢窗体和田园窗体联系起来有一个渲染器很好,不过之前始终没有窗体可以用来渲染。我们可以通过回到主窗体的代码并修改一些代码来改善这点:
2009-07-30 10:01:00 560
原创 格物致知--《Effective C#》读书笔记--验证接口引用指向装箱后的值类型时无需拆箱
欲验证的结论:接口引用指向装箱后的值类型时无需拆箱。代码如下: interface SomeInterface { void MethodInInterface(); } struct OneValueType
2009-07-29 09:01:00 836
翻译 Head First C# 中文版 第13章 控件和图形 page583
创建渲染器下面是完整的Renderer类。主窗体在调用World.Go()之后调用这个类的Renderer()方法,以此来把蜜蜂和花朵绘制到窗体上去。
2009-07-27 21:01:00 611
翻译 Head First C# 中文版 第13章 控件和图形 page582
向项目中添加田园和蜂巢窗体把BeeControl添加到项目中去。再添加两个窗体。 搞明白你的位置在哪儿你需要搞明白蜂巢处于Filed窗体的什么位置。使用属性窗口给MouseClick事件创建一个处理方法,添加如下代码:
2009-07-26 18:05:00 640
翻译 Head First C# 中文版 第13章 控件和图形 page581
④蜜蜂和花朵已经知道自己的位置了我们用Point存储蜜蜂和花朵的位置是有原因的,这样我们可以根据Bee对象的位置来设置它对应的BeeControl的位置: ⑤如果某只蜜蜂没有对应的控件,渲染器会去把它添加到蜂巢窗体中去渲染器类可以很简单那的通过字典的Cont
2009-07-26 11:09:00 555
翻译 Head First C# 中文版 第13章 控件和图形 page580
渲染器使用BeeControl来在你的窗体上绘制会动的蜜蜂 有了一个BeeControl和两个窗体,你现在只需要一种方式来放置蜜蜂,把它们从一个窗体移动到另一个窗体,并记录其存在。你也需要在FiledForm上放置花朵,不过花朵不会动,这就很简单了。这些代码都可以放入一个新类中,Renderer。下面是该类的职责:
2009-07-25 09:26:00 551
翻译 Head First C# 中文版 第13章 控件和图形 page579
因为窗体替你完成了工作IDE替你覆写了Dispose()方法,当窗体要释放的时候,它将会释放Controls集合中的所有控件。而现在你要自己创建控件或者把控件从集合中移除了,你就要自己负责释放它们。 问:为什么窗体中对应于基于PictureBox的BeeControl的代码同样适用
2009-07-24 20:22:00 563
翻译 Head First C# 中文版 第13章 控件和图形 page578
使用UseControl是一种创建控件的好方式有一种创建控件的简单方法,使用IDE向项目中添加一个UserControl。UserControl的使用就和窗体很类似,你可以把工具箱中的控件拖拽上去,也可以使用IDE的窗体设计器。也可以像使用窗体一样的使用其中的事件。我们来用UserControl重建BeeCo
2009-07-24 12:50:00 579
翻译 Head First C# 中文版 第13章 控件和图形 page577
BeeControl也需要释放本身包含的控件Control类实现了IDisposable接口,所以你需要确保每个使用过的控件都得以释放掉。BeeControl内部含有一个Timer控件,而它没有得以释放掉,这是个问题。不过很幸运,这个问题很容易修复--覆写Dispose()方法即可。
2009-07-24 08:46:00 581
翻译 Head First C# 中文版 第13章 控件和图形 page576
创建一个按钮来向窗体添加BeeControl向一个窗体添加一个控件很简单--把它加入Controls集合即可。移除也是一样简单。不过控件都实现了IDisposable接口,所以要确定移除控件之后要去销毁对象。如下做:①从你的窗体上移除BeeControl,并添加一个
2009-07-23 21:37:00 566
翻译 Head First C# 中文版 第13章 控件和图形 page575
③添加到项目的资源文件中的图片可以通过Properties.Resources类来访问。在代码中的任意位置键入Properties.Resources.智能感应就会列出所有你添加过的图片。 ④现在添加BeeControl吧!把BeeControl类添加到你的项目中去吧。
2009-07-23 12:50:00 548
翻译 Head First C# 中文版 第13章 控件和图形 page574
BeeControl和PictureBox很类似...所以我们就从继承PictureBox开始吧工具箱中的控件都是对象,所以要创建一个新的控件也很简单。你只需要创建一个新类让它继承一个已有的控件并添加需要的行为即可。我们需要一个叫做BeeControl的控件,它显示一只扇动翅膀的蜜蜂。不过我们首先
2009-07-22 22:27:00 690
翻译 Head First C# 中文版 第13章 控件和图形 page573
创建你自己的第一个动画控件你要创建一个动画的控件,它显示一只会动的蜜蜂。这并没有听上去那么难:一张接一张的绘制图片就可以产生动画的效果了。我们很幸运,C#和.NET处理资源的方式使得这件事儿很简单。 我们想要一个可以放入工具箱的控件如果你正确的创建了BeeControl
2009-07-21 20:41:00 690
翻译 Head First C# 中文版 第13章 控件和图形 page572
你可以想出这些代码片段都是做什么用的吗?把你猜想的答案写出来。 附加题:你认为为什么我们没有把Controls.Remove()语句写在foreach循环之内呢? 因为在foreach循环枚举一个Controls集合(或
2009-07-21 16:43:00 562
翻译 Head First C# 中文版 第13章 控件和图形 page571
你可以想出这些代码片段都是做什么用的吗?把你猜想的答案写出来。 附加题:你认为为什么我们没有把Controls.Remove()语句写在foreach循环之内呢?
2009-07-20 21:08:00 511 1
翻译 Head First C# 中文版 第13章 控件和图形 page570
控件对于可视化显示元素来说是很适合的一只幼蜂被添加到蜂巢的时候,我们需要让模拟器添加一个新的BeeControl到Hive窗体中去,并且在蜜蜂飞来飞去的过程中移动控件的位置。蜜蜂从蜂巢中飞出去到田园中去的时候,需要把控件从Hive窗体中移除并添加到Filed窗体中去。蜜蜂从外面再次飞回来的时候,又要做相反的处理。同时我们希望蜜
2009-07-20 13:26:00 535
翻译 Head First C# 中文版 第13章 控件和图形 page569
渲染器把World中的所有事物绘制到两个窗体上去World对象记录着模拟器中的一切,蜂巢、蜜蜂、花朵。但是它并不把任何东西绘制出来。这是渲染器的任务。它读取World中的信息并据此绘制到窗体上去。 模拟器在每一帧之后渲染画面主窗体调用World的
2009-07-20 09:51:00 536
原创 格物致知--《Effective C#》读书笔记--验证四种判等方式
①Object的静态方法ReferenceEquals:只适用于判断两个引用是否指向同一个实例,不适用于值类型(或者说用于值类型是没意义的,因为永远返回false)。如下:TestEqual te = new TestEqual();bool b1= object.ReferenceEquals(te,te);bool b2 = object.R
2009-07-19 22:40:00 1020
翻译 Head First C# 中文版 第13章 控件和图形 page568
给你的架构中添加一个渲染器我们需要另一个类,让它来读取World中的信息并据此绘制出蜂巢,蜜蜂和花朵。我们将会添加一个叫做Renderer的类来做上述的事情。而由于你的其他类都是封装良好的,所以这并不会导致已有代码的太多修改。 由于Bee,Hive,Flower和World这些类是封装良
2009-07-19 17:26:00 582
翻译 Head First C# 中文版 第13章 控件和图形 page567
③Hive窗口给你显示蜂巢内部的情况蜜蜂们满世界的飞舞,你需要让它们动起来。有时候蜜蜂们会到蜂巢内去,这时它们就要显示在这个窗口中。 ④Filed窗口是蜜蜂们采集花粉的所在地蜜蜂的重大任务就是:收集花粉并带回蜂巢去制造蜂蜜。然后它们食用蜂蜜获取体力从而可以再次飞出去采集更多的花粉。
2009-07-19 11:10:00 574
翻译 Head First C# 中文版 第13章 控件和图形 page566
用控件让蜂巢模拟器动起来你已经创建了一个很棒的模拟器,但是它不怎么好看。现在该要创建一些很棒的视觉效果了来显示蜜蜂的行动了。你要创建一个渲染器来让蜂巢动起来...而其关键就在于控件。①UI把正在进行中的事情给你显示出来你的模拟器要有三个窗口。你已经构建了主要的状态窗口。现在你需要创
2009-07-18 20:45:00 572
翻译 Head First C# 中文版 第13章 控件和图形 page565
窗体控件就是对象你已经用过了按钮,文本框,标签等控件。实际上这些控件只是对象而已,与你操作的其他东西一样的。控件就是一个对象--与其他对象一样--只是它碰巧知道如何绘制自己而已。窗体用一个特殊的叫做Controls的集合来记录它的所有控件,你可以在自己的代码中通过Controls来添加或者移除控件。
2009-07-18 18:09:00 834 1
翻译 Head First C# 中文版 第13章 控件和图形 page564
你一直都在用控件和你的程序交互TextBox,PictureBox,Label...你已经很好的掌握了如何使用IDE工具栏中提供的控件。但是你对它们又真的了解多少呢?一个控件不仅仅是拖拽到窗体上去那么简单。★你可以创建自己的控件工具箱里面的控件对于构建窗体和应用来说很有用,
2009-07-17 14:03:00 931
翻译 Head First C# 中文版 第13章 控件和图形 page563
有时候你需要掌握一些图形知识长久以来,我们都把应用程序的可视化部分建立在控件的基础之上。不过有时候这还不够--比如当你想要让一幅图片动起来的时候。一旦涉及到动画,你最终就是要给自己的.NET程序创建自己的控件,添加一些双缓冲,或者是直接绘制到窗体上去。这一切都开始于Graphics对象,Bitmaps,还有
2009-07-15 18:46:00 926 3
原创 Head First C# 中文版 第12章 回顾与前瞻 翻译完毕 PDF下载
第十二章PDF下载:http://download.csdn.net/source/1488922另外:第十章PDF下载:http://download.csdn.net/source/1392716第九章PDF下载:http://download.csdn.net/source/1344624第八章PDF下载:http://download.csdn.net/sour
2009-07-14 17:15:00 1588 3
翻译 Head First C# 中文版 第12章 回顾与前瞻 page561
在阅读下一章之前你要首先让模拟器运行起来,你可以从以下地址下载一个可以运行的模拟器:www.headfirstlabs.com/books/hfcsharp/
2009-07-14 17:13:00 592
翻译 Head First C# 中文版 第12章 回顾与前瞻 page559
最后的挑战:打开和保存我们就快要可以着手于图形的工作,给模拟器添加一些养眼的东西了。不过,首先还是给这一版再做一些别的事:允许载入,保存,和打印蜜蜂的统计数据。①添加打开,保存和打印的图标ToolStrip控件有一个很实用的功能--它可以添加含有标准图标的按钮:新建,打开,打印,剪切,复制,粘贴和
2009-07-13 12:05:00 400
翻译 Head First C# 中文版 第12章 回顾与前瞻 page558
试运行编译你的代码然后运行。如果有错误的话,复查一下语法,尤其是LINQ部分代码的语法。然后,启动模拟器吧!
2009-07-13 11:12:00 414
Head.First.C#.中文版.图文皆译.第十一章.事件和委托.翻译完毕.PDF下载
2008-11-14
Head.First.C#.中文版.图文皆译.第二章.PDF
2008-10-31
Head.First.C#.中文版.第一章
2008-10-20
niit j2me 作业题+答案
2008-09-08
使用AvalonDock制作WPF多标签浏览器
2010-03-17
Words Via Subtitle
2009-09-10
通过英文剧集、电影学单词
2009-09-03
easyMule自动关机工具(可用于1.X和2.0版本)
2009-09-01
MLDN魔乐科技_Oracle课堂19_修改约束、ROWNUM
2009-04-20
MLDN魔乐科技JAVA培训_Oracle课堂14_SQL语法练习1
2009-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人