Flex自定控件---2(自定义事件)

首先自定事件:

 

package com.event
{
	import flash.events.Event;

	public class mylogin extends Event
	{
		public var name:String="";  //存放用户名
		public var pwd:String="";   //密码
		public function mylogin(type:String)
		{
			super(type, false, false);
		}
		
	}
}

 

自定的控件中type类型有所变动;

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" borderColor="#19A612" title="登陆表单">
<mx:Metadata>
	[Event(name="LoginEvent",type="com.event.mylogin")]  //增加元数据,注意没有;号,LoginEvent是事件名称,type是类型,类型变为com.event.mylogin;
</mx:Metadata>
<mx:Script>
	<![CDATA[
	    import com.event.mylogin;
		internal function onClick(evt:MouseEvent):void{
			var e:mylogin=new mylogin("LoginEvent");  //new 的自定事件 mylogin
			e.name=txtname.text;//事件中的name与pwd属性
			e.pwd=txtpwd.text;
		dispatchEvent(e);  //发布事件 相当于this.dispatchEvent(new Event("LoginEvent"));
		}
	]]>
</mx:Script>
	<mx:Label x="41" y="63" text="用户名"/>
	<mx:Label x="41" y="131" text="密码"/>
	<mx:TextInput x="110" y="61" id="txtname"/>
	<mx:TextInput x="110" y="129" id="txtpwd" displayAsPassword="true"/>
	<mx:Button x="110" y="174" label="登陆" id="btnlog" click="onClick(event)" width="63" height="29" fontSize="12" fontWeight="bold" fontFamily="Courier New"/>
	
</mx:Panel>

 

 

 

应用:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">
<mx:Script>
	<![CDATA[
		import com.event.mylogin;
	import mx.controls.Alert;
		internal function login(evt:mylogin):void{   //login(evt:mylogin) 而不是evt:event
			if(evt.name=='admin'&&evt.pwd=='000000')
			{
			Alert.show("你成功登陆了","提示信息");
			}
		   else{
		   Alert.show("用户名密码错误","提示信息");
		   }
		}
	]]>
</mx:Script>
	<ns1:LoginForm x="336" y="272" LoginEvent="login(event)">
	</ns1:LoginForm>
</mx:Application>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值