सभी को नमस्कार, यह मेरी पहली पोस्ट है, इससे पहले मैं केवल इस साइट का पाठक था। इस पोस्ट का विषय दो अलग-अलग तकनीकों का इंटरैक्शन है, जिनमें से प्रत्येक अपने स्वयं के प्रबंधित वातावरण, एडोब फ्लैश और माइक्रोसॉफ्ट .NET में काम करता है।
एक समय में, एक .NET प्रोजेक्ट के लिए मैं WinForm के लिए GDI + ग्राफिक्स के प्रतिस्थापन की तलाश में था। फ्लैश तकनीक को इस तरह के विकल्प के रूप में चुना गया था। मैं उस समय सिल्वरलाइट से परिचित नहीं था, और फिर वेबब्रोज़र घटक के माध्यम से WinForm के लिए इस तकनीक के साथ बातचीत को व्यवस्थित करने में विफल रहा।
Adobe Shockwave Player स्थापित करने के बाद, जब आप Visual Studio में कॉम ऑब्जेक्ट का चयन करते हैं, तो Shockwave Flash Object का दृश्य घटक उपलब्ध हो जाता है। इस घटक में swf प्रारूप में क्लिप के साथ काम करने के लिए कई गुण हैं। विशेष रूप से, यदि आप मूवी प्रॉपर्टी में क्लिप के लिए भौतिक या नेटवर्क पथ सेट करते हैं, तो यह फ़ॉर्म पर प्रदर्शित होगा, जैसे कि यह ब्राउज़र में होगा। फिर, SetVariable (स्ट्रिंग संपत्ति, स्ट्रिंग डेटा) विधि के माध्यम से, आप C # से किसी भी फ़्लैश संपत्ति में जानकारी स्थानांतरित कर सकते हैं।
WinForm + फ्लैश
ActionScript 2.0 (1.swf) में एक बाहरी फ्लैश प्रॉपर्टी की घोषणा
C # से फ़्लैश मूवी में जानकारी ट्रांसफर करें।इससे पहले, फ्लैश नाम के साथ एक शॉकवेव फ्लैश ऑब्जेक्ट घटक को WinForm में सेट किया
गया था और इसकी
मूवी संपत्ति को
1.swf मूवी के भौतिक पथ के साथ सेट किया गया था।
int i = 1; Flash.SetVariable("MyObject",i.ToString());
WPF + फ्लैश
यह हाल ही में दिलचस्प हो गया है कि फ्लैश के साथ मिलकर एक WPF आवेदन कैसे दिखेगा। मैंने इंटरनेट पर खोज की, लेकिन दुर्भाग्य से ऐसी जानकारी, यदि कोई हो, तो बहुत छोटी हो गई।
नतीजतन, उन्होंने इस प्रकार के एप्लिकेशन के लिए एक फ्लैश घटक बनाया।
XAML <UserControl x:Class="WindowsFormsApplication1.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid Background="#FF00E100" Loaded="Grid_Loaded"> <WindowsFormsHost HorizontalAlignment="Stretch" Name="windowsFormsHost1" VerticalAlignment="Stretch" DataContext="{Binding}" Focusable="True" Margin="22,12,24,21" Background="#FF00005A" /> </Grid> </UserControl>
फ्लैश ऑब्जेक्ट using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using AxShockwaveFlashObjects; using System.Runtime.InteropServices; namespace WindowsFormsApplication1 { /// <summary> /// Flash /// </summary> public partial class UserControl1 : UserControl { public AxShockwaveFlashObjects.AxShockwaveFlash AxShockwaveFlash; public UserControl1() { AxShockwaveFlash = new AxShockwaveFlash(); InitializeComponent(); windowsFormsHost1.Child = AxShockwaveFlash; this.AxShockwaveFlash.VisibleChanged += new System.EventHandler(this.AxShockwaveFlash_VisibleChanged); } public string _Movie; public string Movie { set { _Movie = value; } get { return AxShockwaveFlash.Movie; } } private void AxShockwaveFlash_VisibleChanged(object sender, EventArgs e) { if (IsVisible) { try { if (Movie != null || Movie != _Movie) AxShockwaveFlash.Movie = _Movie; } catch { } } } private void Grid_Loaded(object sender, RoutedEventArgs e) { AxShockwaveFlash.Menu = false; } } }
WinForm के समान, C # से फ़्लैश मूवी में जानकारी स्थानांतरित करेंइससे पहले,
UserControl1 घटक को
Flash नाम के साथ रखा गया था
, और इसकी
मूवी संपत्ति को
1.swf मूवी के भौतिक पथ के साथ सेट किया गया था।
int i = 1; Flash.AxShockwaveFlash.SetVariable("MyObject",i.ToString());