چطور از flash می تونم در سی# استفاده کنم؟

mohan21

Member
با سلام

من یه مالتی مدیا با فلش آماده کردم و میخوام فلش رو در فرم اصلی نمایش بدم، اما چطور نمیدونم ...(میخوام بعنوان نمایش دهنده فلش باشه ...)

میشه لطف کنید و راهنمایی کنید تا مشکلم حل بشه ...!

ممنون از شما
 

the_king

مدیرکل انجمن
با سلام

من یه مالتی مدیا با فلش آماده کردم و میخوام فلش رو در فرم اصلی نمایش بدم، اما چطور نمیدونم ...(میخوام بعنوان نمایش دهنده فلش باشه ...)

میشه لطف کنید و راهنمایی کنید تا مشکلم حل بشه ...!

ممنون از شما

در Visual Studio در منوی Tools گزینه Choose Toolbox Items رو بزنید. صبر کنید تا فراخوانی بشه و نمایش داده بشه.
در بخش COM Components عنوان Shockwave Flash Object رو پیدا کنید و تیک بزنید و OK کنید.

حالا در Toolbox می توانید در بخش General و یا در بخش All Windows Forms پیدا اش کنید و روی فرم تان قرار دهید.
برای نمایش یک فایل swf از کدی شبیه به کد زیر استفاده کنید :

کد:
            axShockwaveFlash1.[B]Movie[/B] = @"C:\Samples\Test.swf";
            axShockwaveFlash1.[B]Play[/B]();
 

mohan21

Member
با تشکر از شما دوست گرام

دو سوال دیگه دارم:

1. چطور میشه منوی فلش رو غیر فعال کرد؟(نمایش منو هنگام راست کلیک)

2. چطور از دستورات FSCommand میشه استفاده کرد؟(مثلا دستور Quit)

ممنون از زحمتی که میکشید ...
 

the_king

مدیرکل انجمن
با تشکر از شما دوست گرام

دو سوال دیگه دارم:

1. چطور میشه منوی فلش رو غیر فعال کرد؟(نمایش منو هنگام راست کلیک)
خیلی ساده است، از داخل Toolbox بخش Containers یک کنترل Panel را روی فرم قرار دهید.
سپس مشخصه Enabled آن Panel را False کنید و در ادامه کنترل فلش تان را به درون آن Panel جابجا کنید.
اکنون کنترل فلش درون یک کنترل دیگری قرار دارد که غیر فعال است و کلیک پذیر نیست.
در نتیجه خودش نیز کلیک پذیر نخواهد بود، چون غیر فعال بودن والد توسط فرزند به ارث برده می شود.

2. چطور از دستورات FSCommand میشه استفاده کرد؟(مثلا دستور Quit)
ممنون از زحمتی که میکشید ...
خواهش می کنم، شما می توانید با رخداد FSCommand همون کنترل فلش اینکار رو بکنید. توی لیست Event های
کنترل فلش رخداد FSCommand رو مدیریت کنید و بررسی کنید که آیا e.command برابر quit هست یا نه :
کد:
        private void axShockwaveFlash1_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
        {
            if (e.command == "quit")
            {
                Application.Exit();
            }
        }
 

mohan21

Member
دوست گرام ممنون از راهنمایی شما، میرم تا امتحان کنم ...

قبل رفتن یه سوال، اینکه:

چطور میشه از کار نهایی خروجی exe گرفت، فایل نصب نه آ ...

باز هم ممنون از زحمتی که میکشید ...
 

the_king

مدیرکل انجمن
دوست گرام ممنون از راهنمایی شما، میرم تا امتحان کنم ...

قبل رفتن یه سوال، اینکه:

چطور میشه از کار نهایی خروجی exe گرفت، فایل نصب نه آ ...

باز هم ممنون از زحمتی که میکشید ...

هر موقع که برنامه رو اجرا می کنید، بطور خودکار این اتفاق (خروجی EXE) می افته، در پوشه پروژه، مسیر Debug\bin
 

mohan21

Member
بله، درسته ...

اما میخوام فایل هایی که در این برنامه استفاده میشه ضمیمه فایل اجرایی بشه(داخل فایل اجرایی قرار بگیرند) ...
نه بصورت پوشه بندی در کنار فایل اجرایی

باز هم ممنون ممنون ممنون ممنون ممنون ... از زحمتی که میکشید ...
 

the_king

مدیرکل انجمن
بله، درسته ...

اما میخوام فایل هایی که در این برنامه استفاده میشه ضمیمه فایل اجرایی بشه(داخل فایل اجرایی قرار بگیرند) ...
نه بصورت پوشه بندی در کنار فایل اجرایی

باز هم ممنون ممنون ممنون ممنون ممنون ... از زحمتی که میکشید ...

فایل های مورد نظر تون رو بصورت Resource ضمیمه پروژه کنید. در بخش Properties بخش Resources.resx رو با
دوبار کلیک کردن باز کنید و در پنجره ای که باز می شود بخش Files رو انتخاب کنید (Ctrl + 5) و فایل ها رو اضافه کنید.

سپس در کد پروژه تان اول System.IO رو به ابتدای کد فرم اضافه کنید :

کد:
using System.IO;

و در ادامه با کد های زیر در رخداد Load شدن فرم، فایل موقتی ای را با محتویات فایل Resource شده ایجاد کنید.
در مثال زیر نام فایل Resource مورد نظر sample است که محتویات همان sample.swf می باشد.
کد:
    string path = Path.GetTempFileName();
    FileStream file = new FileStream(path, FileMode.Create);
    byte[] data = Properties.Resources.[B]sample[/B];
    file.Write(data, 0, data.Length);
    file.Close();
    axShockwaveFlash1.Movie = path;
    axShockwaveFlash1.Play();

در صورت تمایل کد زیر را در رخداد FormClosing اضافه کنید تا فایل موقتی ساخته شده حذف گردد :
کد:
            string path = axShockwaveFlash1.Movie;
            axShockwaveFlash1.Movie = "";
            File.Delete(path);
 

جدیدترین ارسال ها

بالا