重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
单纯用.net的技术来做非常麻烦,涉及到了大量的GUI绘图工作,但这个偏偏还是基础。所以建议用WPF来处理,虽然也比较麻烦,但要比GUI容易理解的多。
10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有濉溪免费网站建设让你可以放心的选择与我们合作。
而原理实际上都是一样的。本质上都是图片的移动。只不过移动的那张图片有变化。
譬如你要做一个沿直线跑步的小人。在起始的位置画一个站立的人物图,然后将图片移动到下一个位置,并把图片换成迈出左腿并挥臂的图;再将图片移动一下,绘制收左腿迈右腿的图,一直下去。
说白了就是你需要将人物移动的动作分解,并在合适的位置上绘制出合适的图,分解的越细,动画的连贯性就越高。
其实就是制作动画,然后再把它用到游戏中
可以,比如说你可以这样: 主程序VB编写,核心DLL用VB.NET编写,这是没有问题的。
麻烦采纳,谢谢!
呵呵
我给你个资料 你看看 至于你的问题 网上争议太多
我不发表任何看法!嘿嘿!
=========================================
Visual Basic .NET
Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。
大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页
1 目前版本
2005年9月以来,存在三种不同版本的Visual Basic .NET.
1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB.net版本。C#被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加。
2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。
3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点:
A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复。
B, Design-time expression evaluation
C, My伪命名空间,提供了访问.NET Framework特定域的不需大量编码的简单方式;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码,可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发
上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来。参见:
使用My开发
通过My命名空间访问.NET Framework 和项目
Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距。
A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用)。
B, XML注释,可以被NDoc等工具处理而自动生成文档
C, operator overloading
D, 支持在其它语言中已经广泛使用的unsigned integer数据类型。
E, 支持在许多C衍生编程语言已提供的复合操作符如:"+=", "-="
4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司)。
5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能。另外,VS Express版包括了VB6.0转换器,提供了从VB老版本升级的可行方法。
2 和VB的关系
VB.net 是否该被看作VB的新版本或者是另一个完全不同的语言尚在争议中。虽然并非显而易见,但只要某个方法被弃用,它就会可会被自动转换,这说明了该语言的句法并没有出现很多突破性的变化,只是增加了对新功能的支持,比如结构化意外处理机制和短循环表达式(structured exception handling and short circuited expressions)。有一种变化会让旧用户迷惑:Integer和Long数据类型在长度上分别倍增。16位的 integer 在VB.NET中被认为是Short,而Integer和Long分别是32位和64位。同样,Windows Forms GUI编辑器和VB Form 编辑器在外观和功能上非常相似。
出现巨大变化的是语意,从运行于基于COM的deterministic, reference-counted的引擎之上的编程环境,转变为全面面向对象的基于.NET Framework的语言。.NET Framework包括了CLR (使用通用垃圾收集机制和JIT编译引擎的虚拟机)和大量的类库。VB开发者进入VB.NET要面对新增的大量类库的问题,虽然这在VS 2005的My 功能中已有所阐述。
上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。
1, 比较样例:
两个例子都弹出"Hello,World"并带OK按钮的信息框,它们显示了VB和VB.Net在句法上的相似。
VB:
Private Sub Command1_Click()
MsgBox "Hello, World"
End Sub
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Hello, World")
End Sub
注意,VB.NET中的所有过程调用都必须加圆括号,而VB6中只有调用函数或者VB6中使用Call来调用过程时
才需要加圆括号,
另外,Command1和Button1并非必须,只是VB和VB.NET系统自动默认的控件名。
两个例子都卸载活动窗口,它们显示了VB和VB.Net在句法上的不同。
VB:
Private Sub cmdClose_Click()
Unload Me
End Sub
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
Me.Close()
End Sub
2, 争议:许多资深的VB程序员抱怨VB.NET,因为VB.NET 2002丢掉了许多不再发行的VB6中使用的大量语言constructs和用户界面功能,并且对保留下来的东西也改变了语意。例如,在VB.NET参数默认是以值方式传递的,而不是以引用方式。VB.NET 2002被半嘲讽半认真地称为Visual Fred或VBDOTNOT。作为对2005-03-08微软拒绝为VB6再提供维护与支持的回应,当月月底出现了反对者的请愿(petition)
VB.NET的支持者们认为新语言在很多方面比旧版本更为强大,比如它以相比早期版本更为自然、紧密和完全的方式地加入了现代面向对象的编程范式。反对者们有不同意见,虽然VB6对对象模型支持有缺点,但是二次开发升级到VB.NET 的成本比升级后的收益要高得多。而开发软件发布因特网版本的独立程序员也对VB.NET的RunTime尺寸过大不满。
相对编译成机器码的语言,编译成MSIL的语言包括VB.NET比较容易被反编译。
微软提供了VB到VB.NET的自动转换器,虽几经改进,但仍无法转换全部代码,几乎所有非小型程序都需要人工修改以完成编译。为了运行优化,大多程序需要大量工作去重构。
主要是进行演算的VB程序自然会更容易升迁,但是采用了以下功能,如数据库支持,图形, unmanaged operations,或者在安装启用明细方面都很麻烦。不幸的是,这些恰好是许多商业应用的核心。
另外,Win98及其以上的系统就自带了VB6的运行时(RunTime)库,而VB.NET需要安装大得多的.NET Framework。除了 Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition and Windows Server 2003有自带.NET Framework,其它版本需要另外安装,这对用户和程序员都不方便。
针对开发者的不满,微软主要做了如下努力:使新的开发更容易启动,而把已开发的VB6代码升级到VB.NET。他们的最新成果可以从这里看到: , 那里文章和源码例子主要包括:完成VB6中的常见任务如打印预览;整合VB6和VB.NET解决方案(dubbed VB Fusion),从VB6 代码转换到 VB.NET。
3 跨平台和开源的开发
目前和C#相比,针对VB.NET开发的开源工具发展得比较慢,虽然MONO开发平台提供了一个VB.NET特性库(VB.NET-specific libraries)并着手研发一个编译器和Windows Forms GUI 库.
4 VB革命
VB1.0于1991年发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的
4.1 时间线
* 1991年4月,Visual Basic 1.0 Windows版本发布
* 1992年9月,Visual Basic 1.0 DOS版本发布。
* 1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
* 1993年夏天,VB3.0发布,分为标准版和专业版。其中包含一个数据引擎,可以直接读取Access数据库。
* 1995年8月,VB4.0发布了32位版本和16位的版本。其中包含了对类的支持。
* 1997年2月,VB5.0发布。程序员可以用32位的版本导入由4.0版本创建的16位程序,并且能顺利编译。同时还包含了对用户自建控件的支持。
* 1998年夏天,VB6.0发布。
* 2001年,Visual Basic.NET和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB的程序员都要改写程序。
* 2003年,Visual Basic.NET 2003和.NET Framework 1.1发布。
* 2004年,微软发布了Visual Studio 2005的测试版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
* 2005年,微软宣布将不会再对非.NET版本的VB进行支持。VB社群立即作出反应表示关心这个消息,一些老用户还递交了希望能够继续对VB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。
* 2005年11月7日,Visual Studio 2005正式发布。
5 加减乘除的程序
5.1 使用指定的值下执行指定运算
例子1:程序中只利用一个按纽及清单进行指定的值下执行指定运算 例子中:增设以下的图形工具
图形工具 缺省名称 更改名称 属性 颢示文字
---------------- ---------------------
按纽 buton1 btn1 text 计算器
颢示清单 lstbox1 lst1 text
---------------------------------------
设定名称 设定属性
----------------
N1 double
N2 double
N3 double
answer double
设定宣告属性 指出不同的值代替数字N1,N2,N3 及answer
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim N1, N2, N3, answer As Double
N1= 4000
N2= 9
N3= 5
answer = (N1/ (N2- N3))
Lst1.Items.Add(answer)
end sub
解释:
第一列 - 为btn1按纽对系统VB的宣告(VB.NET程序中已提供的)
第二列 - 为对代数N1,N2,N3 及answer 进行的多重宣告(这例子指派代数为Double数字
一定要使用数字若有小数会同时颢示小数)
值得一提的是使用( , )来宣实是一种懒的做法,最正确的是
Dim N1 as double
Dim N2 as double
Dim N3 as double
Dim answer as double
一列一列地宣告一次
但是小程序可以这样做,当程序过大时会建议用懒的做法
第三列 - 当N1 是 4000
第四列 - 当N2 是 9
第五列 - 当N3 是 5
第六列 - 同时 answer = (N1/ (N2- N3))的数学运算
第七列 - 因此清单上会颢示运算答案
第八列 - 程序结束(这个按纽btn1)
以上一最简单的罗缉运算,也是VISUAL BASIC 发展的关键 最后以上的宣告方法也可以通用于VB版本中
5.2 轮入指定的值下执行指定运算
例子2:在表单上先轮入一个或以上的值数值再进行运算。 方法:1.与上例相同增加以上述图形工具 2.增设以下的图形工具
图形工具 缺省名称 更改名称 属性 颢示文字
----------------------------------------
文字盒 textbox1 txt1 text 0
文字盒 textbox2 txt2 text 0
文字盒 textbox3 txt3 text 0
----------------------------------------
设定与上例的相同宣告属性
设定名称 设定属性
------------------
N1 double
N2 double
N3 double
answer double
-----------------
注意:只颢示由第三列至第七列的改变
注意:例子注解将使用( ' )取代,此符号旨可使用于Visual Basice的版本中作为注解,程序将不理会内函的内容。
N1= txt1.text '指示txt1的内容被n1所暂代
N2= txt2.text '指示txt2的内容被n2所暂代
N3= txt3.text '指示txt3的内容被n3所暂代
answer = (N1/ (N2- N3)) '相同的除数及淢数
Lst1.Items.Add(answer) '计算后将颢示在清单上
注意1:(txt1, txt2, txt3)后的.text是指把被颢示的内函的值文字或数字(但不包函符*号或特殊字)的设定。
注意2:(当使用者不想使用清单作颢示时,而想用文字盒作为替代,那麽我们进行以下的改动
假设我们使用例1进行修改时
步骤1.增设以下图形工具 -
图形工具 缺省名称 更改名称 属性 颢示文字
----------------------------------------
文字盒 textbox4 txt4 text 0
步骤2删除 - 把设计版面中的清单中(lst1)中清除 步骤3删除 - 把程序码中第六行的Lst1.Items.Add(answer)清除. 步骤4更改程序码 - 在被清除的同一行中加入:txt1.text = answer
6 设定指定的文字及显示在清单上
7 Format String
8 For Loop
9 if Then Else
10 宣告类别
Double浮点数 String字串 integer整数 long长整数
11 Data Base
开放分类:
网络、编程语言、计算机、微软、.NET
Public Class Form1
Inherits System.Windows.Forms.Form
Private City(33) As String '市 数组
Public Province(33) As String '省 数组
'初始化省市地区名
Public Function Init() As Boolean
City(0) = "东城,西城,崇文,宣武,朝阳,丰台,石景山,海淀,门头沟,房山,通州,顺义,昌平,大兴,平谷,怀柔,密云,延庆"
City(1) = "黄浦,卢湾,徐汇,长宁,静安,普陀,闸北,虹口,杨浦,闵行,宝山,嘉定,浦东,金山,松江,青浦,南汇,奉贤,崇明"
City(2) = "和平,东丽,河东,西青,河西,津南,南开,北辰,河北,武清,红挢,塘沽,汉沽,大港,宁河,静海,宝坻,蓟县"
City(3) = "万州,涪陵,渝中,大渡口,江北,沙坪坝,九龙坡,南岸,北碚,万盛,双挢,渝北,巴南,黔江,长寿,綦江,潼南,铜梁,大足,荣昌,壁山,梁平,城口,丰都,垫江,武隆,忠县,开县,云阳,奉节,巫山,巫溪,石柱,秀山,酉阳,彭水,江津,合川,永川,南川"
City(4) = "石家庄,邯郸,邢台,保定,张家口,承德,廊坊,唐山,秦皇岛,沧州,衡水"
City(5) = "太原,大同,阳泉,长治,晋城,朔州,吕梁,忻州,晋中,临汾,运城"
City(6) = "呼和浩特,包头,乌海,赤峰,呼伦贝尔盟,阿拉善盟,哲里木盟,兴安盟,乌兰察布盟,锡林郭勒盟,巴彦淖尔盟,伊克昭盟"
City(7) = "沈阳,大连,鞍山,抚顺,本溪,丹东,锦州,营口,阜新,辽阳,盘锦,铁岭,朝阳,葫芦岛"
City(8) = "长春,吉林,四平,辽源,通化,白山,松原,白城,延边"
City(9) = "哈尔滨,齐齐哈尔,牡丹江,佳木斯,大庆,绥化,鹤岗,鸡西,黑河,双鸭山,伊春,七台河,大兴安岭"
City(10) = "南京,镇江,苏州,南通,扬州,盐城,徐州,连云港,常州,无锡,宿迁,泰州,淮安"
City(11) = "杭州,宁波,温州,嘉兴,湖州,绍兴,金华,衢州,舟山,台州,丽水"
City(12) = "合肥,芜湖,蚌埠,马鞍山,淮北,铜陵,安庆,黄山,滁州,宿州,池州,淮南,巢湖,阜阳,六安,宣城,亳州"
City(13) = "福州,厦门,莆田,三明,泉州,漳州,南平,龙岩,宁德"
City(14) = "南昌市,景德镇,九江,鹰潭,萍乡,新馀,赣州,吉安,宜春,抚州,上饶"
City(15) = "济南,青岛,淄博,枣庄,东营,烟台,潍坊,济宁,泰安,威海,日照,莱芜,临沂,德州,聊城,滨州,菏泽"
City(16) = "郑州,开封,洛阳,平顶山,安阳,鹤壁,新乡,焦作,濮阳,许昌,漯河,三门峡,南阳,商丘,信阳,周口,驻马店,济源"
City(17) = "武汉,宜昌,荆州,襄樊,黄石,荆门,黄冈,十堰,恩施,潜江,天门,仙桃,随州,咸宁,孝感,鄂州"
City(18) = "长沙,常德,株洲,湘潭,衡阳,岳阳,邵阳,益阳,娄底,怀化,郴州,永州,湘西,张家界"
City(19) = "广州,深圳,珠海,汕头,东莞,中山,佛山,韶关,江门,湛江,茂名,肇庆,惠州,梅州,汕尾,河源,阳江,清远,潮州,揭阳,云浮"
City(20) = "南宁,柳州,桂林,梧州,北海,防城港,钦州,贵港,玉林,南宁地区,柳州地区,贺州,百色,河池"
City(21) = "海口,三亚"
City(22) = "成都,绵阳,德阳,自贡,攀枝花,广元,内江,乐山,南充,宜宾,广安,达川,雅安,眉山,甘孜,凉山,泸州"
City(23) = "贵阳,六盘水,遵义,安顺,铜仁,黔西南,毕节,黔东南,黔南"
City(24) = "昆明,大理,曲靖,玉溪,昭通,楚雄,红河,文山,思茅,西双版纳,保山,德宏,丽江,怒江,迪庆,临沧"
City(25) = "拉萨,日喀则,山南,林芝,昌都,阿里,那曲"
City(26) = "西安,宝鸡,咸阳,铜川,渭南,延安,榆林,汉中,安康,商洛"
City(27) = "兰州,嘉峪关,金昌,白银,天水,酒泉,张掖,武威,定西,陇南,平凉,庆阳,临夏,甘南"
City(28) = "银川,石嘴山,吴忠,固原"
City(29) = "西宁,海东,海南,海北,黄南,玉树,果洛,海西"
City(30) = "乌鲁木齐,石河子,克拉玛依,伊犁,巴音郭勒,昌吉,克孜勒苏柯尔克孜,博 尔塔拉,吐鲁番,哈密,喀什,和田,阿克苏"
City(31) = ""
City(32) = ""
City(33) = "台北,高雄,台中,台南,屏东,南投,云林,新竹,彰化,苗栗,嘉义,花莲,桃园,宜兰,基隆,台东,金门,马祖,澎湖"
Province(0) = "北京"
Province(1) = "上海"
Province(2) = "天津"
Province(3) = "重庆"
Province(4) = "河北"
Province(5) = "山西"
Province(6) = "内蒙古"
Province(7) = "辽宁"
Province(8) = "吉林"
Province(9) = "黑龙江"
Province(10) = "江苏"
Province(11) = "浙江"
Province(12) = "安徽"
Province(13) = "福建"
Province(14) = "江西"
Province(15) = "山东"
Province(16) = "河南"
Province(17) = "湖北"
Province(18) = " 湖南"
Province(19) = "广东"
Province(20) = "广西"
Province(21) = "海南"
Province(22) = "四川"
Province(23) = "贵州"
Province(24) = "云南"
Province(25) = "西藏"
Province(26) = "陕西"
Province(27) = "甘肃"
Province(28) = "宁夏"
Province(29) = "青海"
Province(30) = "新疆"
Province(31) = "香港"
Province(32) = "澳门"
Province(33) = "台湾"
End Function
'得到省相对应的市
Public Function GetCity(ByVal a As ComboBox, ByVal b As ComboBox) As Boolean
b.Items.Clear()
Dim num, x1, i
num = a.SelectedIndex
x1 = Split(City(num), ",")
For i = 0 To UBound(x1)
b.Items.Add(x1(i))
Next
End Function
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Init()
ComboBox1.Items.AddRange(Province)
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
GetCity(ComboBox1, ComboBox2)
End Sub
End Class
考不过就说明你还没学到东西
要努力啊,现在考试可以作弊
可是出来工作就没机会了,工作不可能找个代工的
学得到就学,学不到就认了吧
代考又不会帮助自己掌握些什么