位置:首页 » 技术 » JavaScript 兼容浏览器FF/IE技巧

JavaScript 兼容浏览器FF/IE技巧

日期:2013-04-01 阅读:0num
Advertisement

【分享】JavaScript 兼容浏览器FF/IE技巧

JScript code

做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同。这就需要我们程序员去兼容他们,
不然有些浏览器就无法运行我们的代码。就会造来客户的投诉,如果让BoSS知道了,这可不太好哦。
下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助。   

.以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox   

//window.event
IE:有window.event对象
FF:没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)
解决方法:var event = event || window.event;
example:
<script>
       function test(event) {
            var event = event || window.event;
            //do Something
       }
</script>
<input type="button" value="click" onclick="test(event)"/>

//鼠标当前坐标
IE:event.x和event.y。
FF:event.pageX和event.pageY。
通用:两者都有event.clientX和event.clientY属性。    

//鼠标当前坐标(加上滚动条滚过的距离)
IE:event.offsetX和event.offsetY。
FF:event.layerX和event.layerY。
解决方法:
<script>
       function test(event) {
            var event = event || window.event;
            //or var event = event ? event : window.event;//这2中都可以,也可以用if else(这简写)
            var x = event.offsetX || event.layerX;
            var y = event.offsetY || event.layerY;
            //do Something
       }
</script>
<div onmousedown="test(event)"></div>
/**其他的兼容的解决方法类似,不再一一举例**/

//event.srcElement问题
说明:IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,
但是没有srcElement属性.
解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者
Firefox下的event.target. 请同时注意event的兼容性问题。   

//event.toElement问题
问题:
IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属
性
解决方法:
var target = e.relatedTarget || e.toElement;    

//标签的x和y的坐标位置:style.posLeft 和 style.posTop
IE:有。
FF:没有。
通用:object.offsetLeft 和 object.offsetTop。    

//窗体的高度和宽度
IE:document.body.offsetWidth和document.body.offsetHeight。注意:此时页面一定要有body标签。
FF:window.innerWidth和window.innerHegiht,以及document.documentElement.clientWidth和document.documentElement.clientHeight。
通用:document.body.clientWidth和document.body.clientHeight。    

//添加事件
IE:element.attachEvent("onclick", function);。
FF:element.addEventListener("click", function, true)。
通 用:element.onclick=function。虽然都可以使用onclick事件,但是onclick和上面两种方法的效果是不一样的,
onclick 只有执行一个过程,而attachEvent和addEventListener执行的是一个过程列表,也就是多个过程。例如:element.attachEvent("onclick", func1);element.attachEvent("onclick", func2)这样func1和func2都会被执行。    

//标签的自定义属性
IE:如果给标签div1定义了一个属性value,可以div1.value和div1["value"]取得该值。
FF:不能用div1.value和div1["value"]取。
通用:div1.getAttribute("value")。    

//document.form.item 问题
IE:现有问题:现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 MF 下运行
FF/IE: document.formName.elements["elementName"]   

//集合/数组类对象问题
(1)现有问题:
    现有代码中许多集合类对象取用时使用 (),IE 能接受,MF 不能。
(2)解决方法:
    改用 [] 作为下标运算。如:document.forms("formName") 改为 document.forms["formName"]。
    又如:document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1]   

//HTML 对象的 id 作为对象名的问题
(1)现有问题
     在 IE 中,HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用。在 MF 中不能。
(2)解决方法
     用 getElementById("idName") 代替 idName 作为对象变量使用   

//用idName字符串取得对象的问题
(1)现有问题
     在IE中,利用 eval(idName) 可以取得 id 为 idName 的 HTML 对象,在MF 中不能。
(2)解决方法
     用 getElementById(idName) 代替 eval(idName)。   

//变量名与某 HTML 对象 id 相同的问题
(1)现有问题
    在 MF 中,因为对象 id 不作为 HTML 对象的名称,所以可以使用与 HTML 对象 id 相同的变量名,IE 中不能。
(2)解决方法
    在声明变量时,一律加上 var ,以避免歧义,这样在 IE 中亦可正常运行。
    此外,最好不要取与 HTML 对象 id 相同的变量名,以减少错误。   

//document.getElementsByName() 和 document.all[name] 的问题
现有问题:在 IE 中,getElementsByName()、document.all[name] 均不能用来取得 div 元素
(是否还有其它不能取的元素还不知道)。
//document.all
Firefox可以兼容document.all, 但会生成一条警告。可以用getElementById("*")
或者 getElementByTagName("*")来代替
不过对于document.all.length等属性,则完全不兼容   

//input.type属性问题
说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写   

//window.location.href问题
说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,
只能使用window.location
解决方法:使用window.location来代替window.location.href   

//模态和非模态窗口问题
说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能
解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口.
例如:var parWin = window.opener; parWin.document.getElementById("Aqing").value = "Aqing";    

//frame问题
以下面的frame为例:
<frame src="xxx.html" mce_src="xxx.html" id="frameId" name="frameName" />
(1)访问frame对象:
IE:使用window.frameId或者window.frameName来访问这个frame对象. frameId和frameName可以同名。
FF:只能使用window.frameName来访问这个frame对象.
另外,在IE和Firefox中都可以使用window.document.getElementById("frameId")来访问这个frame对象.
(2)切换frame内容:
在IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容.
如果需要将frame中的参数传回父窗口(注意不是opener,而是parent frame),可以在frme中使用parent来访问父窗口。
例如:window.parent.document.form1.filename.value="Aqing";    

//body问题
Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在   

//事件委托方法
IE:document.body.onload = inject; //Function inject()在这之前已被实现
FF:document.body.onload = inject();    

//firefox与IE的父元素(parentElement)的区别
IE:obj.parentElement
FF:obj.parentNode
解决方法: 因为FF与IE都支持DOM,因此使用obj.parentNode是不错选择   

//innerText在IE中能正常工作,但是innerText在FireFox中却不行. 需用textContent   

//FireFox中设置HTML标签的style时,所有位置性和字体尺寸的值必须后跟px。这个ie也是支持的   

//父节点、子节点和删除节点
IE:parentElement、parement.children,element.romoveNode(true)。
FF:parentNode、parentNode.childNodes,node.parentNode.removeChild(node)。    

//对select的options集合操作
枚举元素除了[]外,SelectName.options.item()也是可以的, 另外SelectName.options.length, SelectName.options.add/remove都可以在两种浏览器上使用。
注意在add后赋值元素,否则会失败
动态删除select中的所有options:
       document.getElementById("ddlResourceType").options.length=0;
动态删除select中的某一项option:
       document.getElementById("ddlResourceType").options.remove(indx);
动态添加select中的项option:
       document.getElementById("ddlResourceType").options.add(new Option(text,value));
IE FF 动态删除通用方法:
document.getElementById("ddlResourceType").options[indx] = null;   

//捕获事件
问题:
FF没有setCapture()、releaseCapture()方法
解决方法:
IE:
obj.setCapture();
obj.releaseCapture();
FF:
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);
if (!window.captureEvents) {
       o.setCapture();
}else {
       window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
}
if (!window.captureEvents) {
       o.releaseCapture();
}else {
       window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);
}    

//禁止选取网页内容
问题:
FF需要用CSS禁止,IE用JS禁止
解决方法:
IE: obj.onselectstart = function() {return false;}
FF: -moz-user-select:none;    

//画图
IE:VML。
FF:SVG。    

//CSS:透明
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。
FF:opacity:0.6。    

//CSS:圆角
IE:不支持圆角。
FF:-moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;
-moz-border-radius-bottomleft:4px;-moz-border-radius- bottomright:4px;。    

//CSS:双线凹凸边框
IE:border:2px outset;。
FF:-moz- border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;
-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;。  

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/IBM_hoojo/archive/2010/07/02/5708440.aspx
相关文章
  • JavaScript 兼容浏览器FF/IE技巧

    [分享]JavaScript 兼容浏览器FF/IE技巧 JScript code 做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们, 不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了,这可不太好哦. 下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助. .以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox

  • JavaScript兼容浏览器FF/IE技巧

    做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了,这可不太好哦. 下面是兼容IE和FF的js脚本做法和分解(部分选自网上,经本人整理),希望对大家有帮助. .以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.event IE:有window.event对象 FF:没有wi

  • Javascript兼容IE&FF的复制到剪贴板

    下面给大家整理了三个JS实现复制内容到剪贴板,兼容各种浏览器方法,一个是js另一个是jquery的还有一个就是使用的clipboardswf方法了. 方法一,全js复制到剪切版 可以兼容基本上所有的主流浏览器(IE,FF),很多地方可以用到的: 代码如下 复制代码 copyToClipboard = function(txt) { if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.s

  • javascript兼容ie,ff设置首页,加入收藏代码

    如果要兼容多浏览器就要判断用户的浏览器类型,如果是firefox还是ie6,7,8等,这样可以根据他们不能的区别进行判断再作操作. <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>无标题页</title> <script language="网页特效" type="text/javasc

  • JavaScript js 兼容浏览器有关问题 兼容FireFox(FF)、IE的解决办法

    JavaScript js 兼容浏览器问题 兼容FireFox(FF).IE的解决方法 做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了,这可不太好哦.下面是兼容IE和FF的js脚本做法和分解(部分选自网上): .以下以 IE 代替 Internet Explorer,以 MF/FF 代替 Mozzila Firefox //window.even

  • JavaScript多浏览器兼容

    Javascript 多浏览器兼容 一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements["elementName"]:Firefox下,只能使用document.formName.elements["elementName"]. 解决方法:统一使

  • Javascript字符串浏览器兼容问题分析

    本文实例分析了Javascript字符串浏览器兼容问题.分享给大家供大家参考.具体分析如下: 先看下不兼容的写法,若我想获取某个字符串的第几位 代码如下: var str='aavvvcc'; console.info(str[0]); 这种写法 在IE 7以下的浏览器都不兼容,以下提供浏览器全兼容的方式 代码如下: var str='aavvvcc'; console.info(str.charAt(1)); 使用charAt() 就可以获取字符串中某个字符,并且全部兼容. 希望本文所述对大家

  • 纯css对联广告特效代码(兼容ie,ff,gg,360浏览器)

    这里我们找到一款非常不错的只要全css就能实现的固定位置对联广告效果代码,并且兼容ie,ff,gg,360浏览器.

  • javascript 事件绑定方法与兼容ie ff解决办法

    网页特效 事件绑定方法与兼容ie ff解决办法 var t = document.getelementbyid("tab1"); t.onclick = function tst(){ alert(''); } 第二种方法 var tb = document.getelementbyid("tab1"); if(window.addeventlistener){ // mozilla, netscape, firefox td_value.addeventliste

  • javascript 弹出层高度不限垂直居中 兼容ie ff chrome

    一个兼容ie ff chrome 的javascript 弹出层高度不限垂直居中 实现代码,有需要了解的同学可参考一下. 今天调整一下弹出层,遇到个小问题:获取scrollTop的值? 网上看了一些获取网页被卷去的高的方法,document.body.scrollTop在ie ff中都是0,奇怪的是在chrome中可以. 我猜ff以经向ie靠拢了,我用的是ff 13.0.1,可以能是以前版本的用的,在此略过-- 代码如下 复制代码 s += " 网页被卷去的高(ff):"+ docum

  • 兼容ie,ff,chrome的javascript窗口关闭代码

    本文章简单的介绍了兼容ie,ff,chrome的javascript窗口关闭代码有需要的同这可以参考一下. 代码如下 复制代码 function windowclose() { var browserName = navigator.appName; if (browserName=="Netscape") { window.open('', '_self', ''); window.close(); } else { if (browserName == "Microsof

  • js获取浏览器高度和宽度值(兼容ie7 ff ie6多浏览器)

    本文章提供这款js获取浏览器高度和宽度值函数代码,他可以兼容ie7 ff ie6浏览器,根据条件判断得出浏览器高度和宽度值哦 代码如下 function calc_scroll_xy() { _browser_scroll_x = 0; _browser_scroll_y = 0; if( typeof( window.pageyoffset ) == 'number' ) { //netscape compliant _browser_scroll_y = window.pageyoffset

  • jquery 调用iframe页面中js的步骤 兼容Ie,FF,chore浏览器

    jquery 调用iframe页面中js的方法 兼容Ie,FF,chore浏览器 iframefunction()是子页面的方法 $(window.parent.document).contents().find("#iframename")[0].contentWindow.iframefunction();

  • JavaScript判断浏览器的有关问题,解决兼容有关问题

    JavaScript判断浏览器的问题,解决兼容问题 在JavaScript里面的function(){}方法里面我看别人的代码都是在()里面传进去一个参数,但是我不知道这个参数是什么时候传进去的,求解,,下面方法传进去的那个event是咋传进去的? document.getElementById("test").onmouseover=function(event){ var evt=window.event||event; document.getElementById("

  • JavaScript 兼容IE、FireFox、Chrome等浏览器的xml处置函数

    JavaScript 兼容IE.FireFox.Chrome等浏览器的xml处理函数 在编写处理xml的网页时,经常为浏览器兼容性头疼.于是我将常用的xml操作封装为函数.经过一段时间的改进,现在已经很稳定了,用起来很舒服. 函数有-- xml_loadFile:xml同步/异步加载. xml_transformNode:xsl转换. xml_text:节点的文本. selectSingleNode:根据XPath选择单个节点. selectNodes:根据XPath选择多个节点. 全部代码(z

  • JavaScript获取浏览器高度和宽度值兼容所有浏览器

    JavaScript获取浏览器高度和宽度值包括有:documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight,下面我来给各位同学介绍. 实例 代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

  • javascript 兼容各个浏览器的事件 javascript 兼容各个浏览器的事件

    调用事件: 事件对象 什么是事件对象?在触发dom上的事件是都会产生一个事件对象event.例如鼠标点击的时候,自己就会产生比如点击的类型啊 还要那个元素发出的 dom 事件对象 type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为 IE中的事件对象 type 属性 用于获取事件对象, srcElement属性 用于获取事件目标 cancelBubble属性 用于阻止事件冒泡 设

  • css与javascript跨浏览器兼容性总结

    一.CSS样式兼容性 1. FLOAT闭合(clearing float) 网页在某些浏览器上显示错位很多时候都是因为使用了float浮动而没有真正闭合,这也是div无法自适应高度的一个原因.如果父div没有设float而其子div却设了float的话,父div无法包住整个子DIV,这种情况一般出现在一个父DIV下包含多个子DIV.解决办法: 1) 给父DIV也设上float 2) 在所有子DIV后新加一个空DIV(目前Ext是这么做的),比如: 1 2 3 4 5 6 7 8 9 .paren

  • 兼容ie,ff 复制到剪切板js代码

    兼容ie,ff 复制到剪切板js代码 <form name="form01"><input type="text" onmouseo教程ver="this.select();" class="iform sizeb" value="需要复制的内容!" name="contents"/> <input type="button" oncli

  • Javascript跨浏览器处置键盘事件keydown,keypress,keyup Javascript跨浏览器处置键盘事件keydown,keypress,keyup

    Javascript跨浏览器处理键盘事件keydown,keypress,keyup 用户在使用键盘时会触发键盘事件.目前,对键盘事件的支持主要遵循的是DOM0级. 在英文输入法下,所有浏览器都遵循以下三个事件: keydown: 当用户按下任意键时触发,而且按住不放的话,会重复触发此事件. keypress: 当用户按下字符键时触发,而且按住不放的话,会重复触发此事件.按下Esc键也会触发这个事件,Safari3.1之前的版本按下非字符键时也触发. keyup: 当用户释放键时触发. 在中文输

最新文章
  • newsmap

    http://newsmap.jp/ 根据 Google News 里相关新闻数量来决定版面布局的网站. --cut-- lwjef在2011-07-12 02:21:1回答到: 今个刚好在九点上看见 http://www.pressmine.com/36491

  • 最近做的笔记软件设计 最近做的笔记软件设计

    http://herac1es.com/320890/4629991/gallery/mnotes-pro --cut-- ziyuan在2014-10-15 11:27:1回答到: 界面看上去很清爽,不错,但现在笔记类软件这么多,楼主这个有啥优势呢? celadevra在2014-10-15 11:32:3回答到: iOS 竖屏布局,我觉得还是 Evernote 目前的做法好些,虽然毛玻璃效果太过分. SErHo在2014-10-15 11:43:0回答到: 要是支持 Markdown 就完美

  • 五一劳动节手抄报资料:世界各地的劳动节活动

    五一劳动节手抄报资料:世界各地的劳动节活动 欧洲 欧洲仍以示威庆祝"五一" 在英国和德国,当局担心示威恐怕会有无政府主义者闹事捣乱.在德国柏林,警方和无政府主义者半夜发生冲突,有多人被捕.不过,数千名工会活跃分子却和平地在市内游行.在法国和奥地利,反对退休金改革的人也上街参与游行.从土耳其国家电视台的新闻画面完全可以看见,警方用警棍打示威者,并扯着其中一人的头发把他拉走. 意大利:不庆祝不放假 英国.法国等欧洲国家都将"五一"确定为劳动节,不少国家都放假一天,还有的

  • 2016年是第几个护士节 2016年是第几个护士节

    2016年是第几个护士节 本站阅读配图 2016年5月12日,全球护士将迎来第105个护士节.国际护士会每年为纪念这一节日都会精心制作和传播国际护士节工具包.2016年国际护士节工具包包含宣传海报,教育和公共健康信息材料,供全球护士使用. 自2008年起,国际护士节每3年有一个总的主题,每年在总的主题下面有不同的侧重点.如2008-2010年,ICN发布的国际护士节总主题是:Delivering Quality, ServingCommunities;2011-2013年,总主题是:Closin

  • 善待陌生人便是善待自己

    善待陌生人便是善待自己 米奇·艾尔邦的著作<在天堂遇见的五个人>中说:"陌生人,是你迟早会认识的家人." 很多时候,我们会认为把善意和情感用在陌生人身上是一种浪费,这些人与我们有什么关系呢?甚至可能是永远不会重逢的,我们对他们好,又能得到什么好处呢?只有在毁灭性*的灾难来临时,我们才会忘记那些受苦的同胞是陌生人,我们才会有结结实实感同身受的恐惧与痛苦. 据说恐惧是最有感染力的一种感受,恐惧激发了我们的同情,只是,当那些时刻来临,虽然我们可以同情,可以施以援手,却已经不能为他

  • 七夕的古诗 七夕的古诗

    七夕的古诗--"两情若是长久时,又岂在朝朝暮暮!"相信大家都非常熟悉这句诗句,没错,这是宋朝诗人秦观写的<鹊桥仙>里面的一句诗句.古代的大诗人们给我们留下了不少的唯美诗句,那么你还知道有哪些比较经典的七夕的古诗吗?看一下下面为你收集的一些家喻户晓的七夕的古诗吧. 鹊桥仙 (宋)秦观 纤云弄巧,飞星传恨,银汉迢迢暗渡. 金风玉露一相逢,便胜却人间无数. 柔情似水,佳期如梦,忍顾鹊桥归路! 两情若是长久时,又岂在朝朝暮暮! 七夕醉答君东 (明)汤显祖 玉名堂开春翠屏,新词传唱&

  • 非常现实的QQ超拽个性签名:没车没房还想泡妞,妳泡面去吧 非常现实的QQ超拽个性签名:没车没房还想泡妞,妳泡面去吧

    FB46B5H522G88E4G> 爱情就是犯贱,而且还是一次又一次的犯贱.什么时候你不犯贱了,女人就来了 我拿什么整死你的爱人-- 黑夜给了我一双黑色的眼睛,可我却用它来翻白眼. 春天,我把自己埋在村口的土地里,到了秋天就收获了好多的帅哥.然后我把村里的名字改成"帅哥村",我也如愿以偿 当上了村长. 我的意中人是个绝色大美女,终有一天她会骑着喷火的恐龙来嫁给我.但是,故事的结局,我只看到了她的坐骑,却没看 到它的主人. 人生的成功不在于拿到一副好牌,而是怎样将坏牌打好. 女人就

  • 基于JQuery打造无缝滚动新闻步骤详解

    本文实例讲述了基于JQuery打造无缝滚动新闻的方法.分享给大家供大家参考,具体如下: 首先,我们这里有这么一段html代码,很简洁,如下所示: <ul> <li>你说我是好人吗,我是好人啊</li> <li>哈哈,我真的不知道说什么了</li> <li>生活就是应该平淡的</li> <li>像上学一样的工作</li> </ul> </div> 然后我们要做的就是使它无缝滚动

  • google谷歌浏览器无法翻译此网页内容怎么解决? google谷歌浏览器无法翻译此网页内容怎么解决?

    现在google在国内经常打不开不是什么怪事了,我们发现谷歌浏览器翻译打不开问题是怪事了,下面一起来看看解决此问题的一个小技巧了,有需要了解的朋友可进入参考. 解决方法是在我们进入到桌面的"我的电脑"或"计算机"然后找到C:/Windows/System32/drivers/etc/hosts,然后使用记事本打开hosts文件; 在加入如下两行(IP地址与网址之间必须有一空格): 203.208.46.145 translate.google.com 203.208

  • WPF入门指南一:快速入门 WPF入门指南一:快速入门

    摘要:WPF是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.本文旨在通过一些简单的示例,让你对WPF有一个概要的认识. 主要内容 1.概述 2.WPF的组成 3.WPF的编程架构 4.XAML 5.WPF中的控件集 一.概述 WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型.语言和框架

热门推荐
  • 远古已灭绝动物 五大巨兽有望大复活 远古已灭绝动物 五大巨兽有望大复活 据国外媒体报道,感谢上帝,最近的进化出现了一种喜人的趋势,即赋予大自然动物强大的思考能力,进而允许我们人类上升至食物链的顶端.如果生活在远古时代,我们可能就没有现在这么幸运了.不同的时代要求动物具备不同的生存能力,曾几何时,巨大的体型和凶猛的习性一度成为动物最重要的特性.以下列举的是14种体型最大.身体最为强壮并且从某种程度上说也最为怪异的动物. 1.恐鸟 恐鸟 恐鸟是一种不会飞行的鸟类,生活在公元前1500年的新西兰.由于遭到毛利部落的疯狂捕杀,这种鸟类已经灭绝.虽然在身体上拥有绝对优势,但这
  • CorelDRAW绘制古色古香的青花瓷碗 CorelDRAW绘制古色古香的青花瓷碗 今天我们用CorelDRAW绘制一个古色古香的青花瓷碗. 绘制步骤如下. 注:更多精彩教程请关注本站设计教程 栏目,
  • Photoshop设计制作梦幻的蓝色萤光心形效果教程 Photoshop设计制作梦幻的蓝色萤光心形效果教程 来源:PS联盟 作者:Sener 梦幻心形构成比较简单,最重要是把发光部分渲染出来.大致过程:先用图层样式给整体加上发光效果.然后用画笔及减淡工具渲染局部边缘高光.最后加上装饰小点即可. 最终效果 1.新建一个800 * 600像素的画布,选择渐变工具,颜色设置如图1,由左上至右下拉出图2所示的线性渐变,如果觉得过亮可以用曲线压暗一点. <图1> <图2> 2.新建一个图层,用钢笔勾出心形轮廓,转为选区后填充淡黄色,效果如下图. <图3> 3.用钢笔把不需要的部分抠出来
  • 利用Photoshop调出人物图片非主流古典青黄色效果教程(1/6) 利用Photoshop调出人物图片非主流古典青黄色效果教程(1/6) 利用photoshop教程调出人物图片非主流古典青黄色效果教程 ps教程-body" valign="middle" align="center" bgcolor="#ffffff"> <点小图查看大图> 最终效果 1.原图素材有点偏暗,按ctrl + j 把背景图层复制一层,图层混合模式改为"滤色",图层不透明度改为:50%,效果如下图. <图1> 2.创建可选颜色调整图层,对红色及黄
  • 自定义View学习之12/1 自定义View学习之12/1 在这里自定义一个圆形等级条的view来加强自己对自定义的理解. 思路: 1.需要画一个背景圆,再需要一个覆盖在背景圆上面的进度圆. 2.使用线程让进度圆产生动画. 3.在进度圆达到圆满的时候回到原点,给个回调. 现在我们先画出一个空心圆. 代码块 /** 背景圆的画笔 */ private Paint paint; /** 进度条圆的画笔 */ private Paint paint1; /** 设置矩阵的坐标点 */ private RectF rectF; /** 屏幕的高度 */ priv
  • android恶意程序分析 (3) android恶意程序分析 (3) android恶意程序分析 (三) 写道 83c4aa1deb06060db6fae4e13630ed18c6ebe6babc187443b5f4c265c2ee074f 分析报告 1.这个是 2. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest android:versionCode="1" android:versionName=&qu