什么相当于.Handle(C#中的桌面应用程序)在aspx中使用c#(Visual Studio 2010)



我正在使用Ventana System为Vensim软件提供的示例。该示例是 C# 中的桌面应用程序。我想把这个例子带到 C# 的 Web 版本中。

桌面版

VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)pictureBox_Sketch.Handle);

网页版

VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)Image1.???);

这是我的方法:我创建一个像在桌面应用程序中一样的图片框

        PictureBox pictureBox_Sketch = new PictureBox();
        pictureBox_Sketch.Name = "pictureBox_Sketch";
        pictureBox_Sketch.Size = new System.Drawing.Size(1200, 768);
        pictureBox_Sketch.TabIndex = 19;
        pictureBox_Sketch.TabStop = false;

然后,我将图像放在手柄中。

       VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)pictureBox_Sketch.Handle);

然后,我将图像复制到剪贴板:

       VensimDLLWrapper.vensim_tool_command("EXPORT>SK", (long)pictureBox_Sketch.Handle, 0);

最后,我将图像保存在磁盘中(很明显,我必须使用Server.Map或其他)

   if (PInvoke.OpenClipboard(pictureBox_Sketch.Handle))
        {
            if (PInvoke.IsClipboardFormatAvailable(14))
            {
                IntPtr ptr = PInvoke.GetClipboardData(14);
                if (!ptr.Equals(new IntPtr(0)))
                {
                    Metafile metafile = new Metafile(ptr, true);
                    metafile.Save("C:\ruta\Images\ModelGraph.png", System.Drawing.Imaging.ImageFormat.Png);
                    //HyperLink1.NavigateUrl = "Images\ModelGraph.png";
                    // Image1.ImageUrl = "Images\ModelGraph.emf";
                    //Set the Image Property of PictureBox 
                }
            }
            PInvoke.CloseClipboard();
        }

相关内容

  • 没有找到相关文章

最新更新