C#主要代码:

首先要添加COM组件-Shockwave Flash Object

//接收flash发送过来的信息
        private void axShockwaveFlash1_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
        {
            XmlDocument document = new XmlDocument();
            document.LoadXml(e.request);

XmlNodeList list = document.GetElementsByTagName("arguments");
            LoadTitleAndAuthor(Convert.ToString(list[0].FirstChild.InnerText), Convert.ToString(list[0].ChildNodes[1].InnerText));
        }
        public void LoadTitleAndAuthor(string title, string author)
        {
           textBox2.Text=title + "," + author;
        }
        //向flash发送信息
        private void sendToFlash_Click(object sender, EventArgs e)
        {
            this.axShockwaveFlash1.CallFunction("<invoke name=\"loadMsg\" returntype=\"xml\"><arguments><string>" +
                this.textBox1.Text + "</string><string>男<string></arguments></invoke>");
        }

private void Form1_Load(object sender, EventArgs e)
        {
            this.axShockwaveFlash1.Movie = Application.StartupPath + "/未命名-4.swf";
        }

flash文件主要代码as2.0:

接收有C#发送过来的消息

import flash.external.ExternalInterface;

ExternalInterface.addCallback("loadMsg",null,loadMsg);

function loadMsg(t1:String,t2:String):Void{
        txtName.text=t1;
  txtAge.text=t2;
 }

向C#窗体发送消息:

on(release)
{
 import flash.external.ExternalInterface;
 //trace("metadata received");
 ExternalInterface.call("loadMsg", txtName.text,txtAge.text);
}

C#与flash as3.0交互

as3.0 类文件编写

package{
    import flash.display.*;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.utils.getDefinitionByName;
    import flash.external.ExternalInterface;
    import flash.text.*;

public class Clas extends MovieClip
    {
        public function Clas()
        {
            btnsend.addEventListener(MouseEvent.CLICK,onclick);
            ExternalInterface.addCallback("setTxt",setTxt);
        }
        
        public function onclick(evt:MouseEvent){
            ExternalInterface.call("toTxt",this.txtsend.text);
        }
        
        public function setTxt(s:String,s2:String)
        {
            this.txtmsg.text=s+"-"+s2;
        }
    }
    
    
    }

C#代码的编写与as2.0通信的一样。

http://www.cnblogs.com/Xingsoft-555/archive/2010/05/09/1731221.html

c# winform as3相互调用的更多相关文章

  1. WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用

    纯粹WinForm界面不够友好,实现数据复杂度高的处理有些力不从心,所以看了看api以后决定用html来做. 我的wlw的代码插件不是很好用,大家凑合看吧 类前说明引用和权限 1: [Permissi ...

  2. [转]C# winform与Javascript的相互调用

    C# winform与Javascript的相互调用 <html> <head> <meta http-equiv="Content-Language" ...

  3. Java与.NET 的Web Services相互调用

    一:简介 本文介绍了Java与.NET开发的Web Services相互调用的技术.本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用 ...

  4. WebBrowser(IE) 与 JS 相互调用

    在开发中我们经常将WebBrowser控件嵌入Winform 程序来浏览网页,既然是网页那么少不了JS.下面就让我们来说说他们两之间的相互调用. 在C#封装的浏览器内核中,Chromium 内核封装有 ...

  5. Java与.NET的WebServices相互调用

    一:简介 本文介绍了Java与.NET开发的Web Services相互调用的技术.本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用 ...

  6. 各编程语言 + aardio 相互调用示例

    代码简单.复制可用.aardio 快速调用 C,C++,C#,Java,R,V,Python,JavaScript,Node.js,Rust,PHP,Ruby,PowerShell,Fortran,D ...

  7. Android和JavaScript相互调用的方法

    转载地址:http://www.jb51.net/article/77206.htm 这篇文章主要介绍了Android和JavaScript相互调用的方法,实例分析了Android的WebView执行 ...

  8. 多个Activity相互调用和Intent

    MainActivity.java和OtherActivity.java的相互调用 首先MainActivity.java是Android程序自带的,新建一个类OtherActiviy extends ...

  9. JS代码和OC代码的相互调用

    JS调用OC 很多应用里面或多或少的调用了网页,来达到绚丽的效果,所谓的JS调用OC.....举个例子吧,网页上有个按钮 点击按钮跳转界面,跳转的动作由OC的代码实现. OC调用JS 还是举个例子,我 ...

随机推荐

  1. 如何悄悄地提升MySQL用户权限

    温馨提示: 一次成功的非法提权,需要的必备条件是:1.对mysql权限表的查.改权限: 2.一次不经意的数据库服务器重启: 此次测试版本:5.6.25 准备邪恶用户: grant update on ...

  2. XCode中安装cocoapods步骤

    Ruby是一种功能强大的面向对象的脚本语言 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找.安装.升级和卸载软件包,非常的便 ...

  3. Linux 禁ping和开启ping操作

    方法一:     # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果要恢复,只要: # echo 0 > /proc/sys/net ...

  4. 数据统计--union all 执行多条sql

    需求--统计hive某张表type字段不同取值的数据量 我们已知某张表的type的取值是1,2,3,4,5,想要统计不同type的数据量,并清晰的展现出来.可以通过union all 的方式,sql如 ...

  5. cmd如何进入d盘

    首先打开CMD 点开始 运行输入 CMD 在CMD窗口中输入 CD\(就是返回根目录) 回车 在输入 D: 即可在D盘操作状态

  6. win10专业版激活工具很不错!

    下载链接:   http://www.yishimei.cn/?=0xj20

  7. [javascript]jsonp-function 代码段

    (function($1454395832823,arr_infoList /**/) { $1454395832823.push(' '); for(var i in arr_infoList) { ...

  8. swift能干什么,不能干什么及相关概念

    1.swift 是什么?OpenStackObject Storage (Swift) 是开源的,用来创建可扩展的.冗余的.对象存储(引擎). swift使用标准化的服务器存储 PB 级可用数据.但它 ...

  9. Android-HttpClient-Get请求获取网络图片设置壁纸

    第一种方式使用httpclient-*.jar (需要在网上去下载httpclient-*.jar包) 把httpclient-4.5.jar/httpclient-4.4.1.jar包放入到libs ...

  10. windows下安装ubuntu

    在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已 ...