سلام خسته نباشید.
می خواستم بدونم که با timer چطور میشه backGround فرم رو هر از مدتی عوضش کرد؟
سلام خسته نباشید.
می خواستم بدونم که با timer چطور میشه backGround فرم رو هر از مدتی عوضش کرد؟
چرا با تایمر ؟ چرا این امکان رو بصورت منو الی به کار نمیدید تا خودش عوض کنه ؟
در واقع استادتون بدترین راه ممکن رو جلو راه شما گذاشت . در واقع اینطور براتون مثال میزنم . شما فرض کنید فرم شما در حالیکه درگیر انجام چندین کار با هم هست و قراره چندین کار رو بکنه , یاید با تایمر که هم حافظه ی زیادی میگیریه و هم کلا وقت گیر هست و همیطور کلا کنترل مشکل سازی هست , بک گراند رو هم چینج کنه !!
مهندسی بهتر برای نرم افزار اینه که خود کاربر این کار رو بکنه . بصورت منو الی .
شما همه ی عکس هایی که میخواهید بصورت بک گراند در بیاد رو در ریسورس برنامه بگزارید و در کنترل پنل برنامه ( اگر داشته باشه ) از همه ی عکس ها یه پرویو کوچیک نشون بده تا زمانی که خود کاربر خواست عوض کنه .
من متاسفانه بسیار خسته هستم نمیتونم کد براتون قرار بدم . اما بطور معمول عوض کردن بک گراند به همین سادگی هست
Bitmap bmp = new Bitmap(@"C:\Users\AliReza\Pictures\Kung.Fu.Panda.j pg");
this.BackgroundImage = bmp;
عزیز چرا سوال های منو قرار نمی دید؟
تا حالا چند بار لینک گذاشتم ولی سیستم گفته که باید از نظر مدیریت تایید بشه.
ولی خوب من که چیزی ندیدم
باشه این سری دستی می نویسم. نه عکس میذارم نه پروژه!
دوستان من پروژه ای رو که دارم انجام میدم از MenuStrip استفاده کردم. برای اینکه بتونم چند عکس رو به صورت رندوم در backGround به نمایش در بیارم یک timer هم در فرمم قرار دادم. (چون استادمون گفته که باید بوسیله timer این عملیات صورت بگیره)
با توجه به لینکی که آقا مرتضی قرار دادند. من پروژه ی ایشون رو که به زبان vb.net بود رو به #C تغییر دادم. ولی خوب زمانی که پروژه ی خودم رو اجرا می کنم backGround خالیه و هیچ تغییری نمی کنه.
این ها کدهایی هست که من وارد کردم.
private void TavizeRoghan_Load(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Strat();
}
private void timer1_Tick(object sender, EventArgs e)
{
Random rand = new Random();
int num = 0;
num = rand.Next(1, 5);
this.BackgroundImage = Image.Fromfile(Application.StartupPath + "\\Pictures\\ + num + ".jpg");
}
من اولش فکر کردم که کافیه کلمه pics رو که در پروژه ی آقا مرتضی بود تغییر بدم کار حله ولی خوب مثل اینکه مشکل فراتر از این حرفاست.دوستان من خیلی این پروژه برام مهمه و الان نزدیک به 2 روزه که روی همین یه قسمت گیر کردم اگه امکان داره کمک کنید.با تشکر
آخرین ویرایش به وسیله bargozide : جمعه 20 آبان 1390 در 19:45 عصر
الان مشکل شما دقیقا کجاست؟! عکس ها رو توی پوشه Pictures با نام 1-5.jpg که بذارید حله دیگه.
خوب این کد که مشکلی نداره!!!!
ممنون از توجه شما.
حقیقتش مشکلم اینجاست که نمیدونم باید کجا پوشه بسازم و عکس ها رو با چه نام هایی توی اون انتقال بدم.
تا الان یه بار یه پوشه با نام Pictures رو در قسمت solution Explorer ویژوال، ساختم و عکس ها رو با نام های 1-5.jpg و 2-5.jpg تا 5-5.jpg توی اون ریختم که جوابی نداشت.
یه بار دیگه هم توی خود پوشه ی Pictures کامپیوتر عکس ها رو با همان نام ها درون اون انتقال دادم که باز هم نتیجه نداشت.
دوست من در همین حد که باید بلد باشی دیگه!
توی پوشه debug (یعنی کنار فایل اجرایی برنامه) یک پوشه به نام Pictures بساز. بعد به همون تعدادی که توی برنامه گفتی (اینجا 5 تا) عکس بساز. از 1 تا 5 (نه 1-5)هم نامگذاری کن. حله اینجوری.
آقا مرتضی یه دنیا ممنون.
نجاتم دادی رفیق.