我试图在控制台应用程序中使用C#中的对象。要做到这一点,您必须将obj.OcxState设置为某些内容。我查看了表单设计器是如何做到这一点的,它是这样做的:
this.flash.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("flash.OcxState")));我查了一下资源,那里什么也没有。
我的问题是,如何手动创建AxHost.State,以便将闪存对象的OcxState设置为它?
我看到State的构造函数采用Stream、int、bool和string。但我不知道如何在Stream (或int、bool或string)中创建它。
发布于 2011-08-04 10:48:09
我喜欢这个问题:P,因为设置OcxState可以让您动态地从内存中的流中加载Flash电影,我在这里和那里都看到过这样的问题,却没有得到任何答复(也许是现在,不知道)。两年前,我在做一个重要的项目时意识到了这一点,并把它搁置了大约三个小时,直到我完成这项工作。
由于流可以使用任何流,所以MemoryStream就足够了(为了填充它,您可以使用BinaryWriter)来设置OcxState,只需:
flashCtl.OcxState = new AxHost.State(stream, 1, false, null);如果资源文件中的OcxState条目为空,可能是因为Flash允许您设置一个没有问题的空流,这是我不知道的。
https://stackoverflow.com/questions/6323389
复制相似问题