السلام عليكم
طلب مني خلال فترة التدريب عمل برنامج يقوم بالآتي :
عند بداية تشغيل جهاز الكمبيوتر ، اظهار نافذة بداخلها صورة ولمدة 10 ثواني
الصورة التي تظهر تتغير في فترة الاعياد وخلال شهر رمضان ، وايضاً عند وجود مناسبات معينة في المؤسسة ، مثلا البدء في تطبيق خطة جديدة.
بدأت في عمل البرنامج و وصلت الى النتائج التالية:
1) اخفاء ازرار close و maximize و minimize واطار ال form عن طريق تغيير formBorderStyle property الى None
2) وضع pictureBox على كامل ال form
3) اضافة timer وتتغيير ال interval الى 1000 حتى تعمل tick event كل ثانية
4) اخفاء البرنامج من TaskBar وذلك بتغيير showInTaskbar property الى False
5) جعل شاشة البرنامج onTop وذلك بتغيير TopMost property الى True
6) الغاء عمل Alt+F4 حتى لايمكن اغلاق الشاشة الا بعد مضي 10 ثواني ( او استخدام ال task manager )
7) تغيير شفافية الشاشة وذلك بتعديل قيمة المتغير opacity الى 0.8
8) لابد ان تكون الصورة باسم ws_pic.jpg في القرص الصلب C ، واستخدمت try & catch للتحكم بخطأ عدم وجود الصورة.
9) اضافة label وفيه جمله : this windows well ... وجعل لون الخلفية شفاف .
النقاط التي اطلب فيها المساعدة هي:
1) جعل البرنامج يستقبل صور بامتداد bmp او png ، وليس فقط jpg
pictureBox1.ImageLocation = "C:\\ws_pic.jpg";
اي لابد من اقوم بتغيير طريقة تحديد الصورة وانا لا اعرف ذلك :(
2) كيف اقوم بجعل البرنامج يشتغل عند بداية التشغيل ( اريد طريقة غير وضعه داخل مجلد start up )
3) افكار لتطوير البرنامج من قبلكم :)
البرنامج على الرابط التالي:
وهذا هو كود البرنامج ، اسأل عن اي شيء غير مفهوم:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace startup_app
{
public partial class Form1 : Form
{
public DateTime startupTime;
public DateTime endTime;
public Form1()
{
InitializeComponent();
}
// to disable alt+f4
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true;
}
private void Form1_Load(object sender, EventArgs e)
{
// change the window opacity
Opacity = 0.5;
startupTime = DateTime.Now;
endTime = startupTime.AddSeconds(10); // run time
// ******use try&catch blocks******
try
{
pictureBox1.ImageLocation = "C:\\ws_pic.jpg";
pictureBox1.Load();
}
catch (Exception excep)
{
MessageBox.Show ( "Make sure that there is a picture in C drive named ws_pic.jpg", "Error Loading Image", MessageBoxButtons.OK, MessageBoxIcon.Error );
Application.Exit();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if (startupTime != null )
{
if (DateTime.Now > endTime)
{
Application.Exit();
}
}
}
}
}