
في الدوت نيت (فيجوال بزيك و سي شارب) إذا أردنا أن نجعل واجهة معينة رئيسية لمجموعة من الواجهات الأخرى فلا بد لنا من تغيير الخاصية IsMdiContainer من القيمة الافتراضية False إلى القيمة الافتراضية True.
لكن المشكلة التي ستواجهها أن لون خلفية الواجهة سيصبح رماديا داكنا لا يتغير حتى وإن استبدلته بلون آخر، بل ولا يعرض حتى الصورة التي نحددها له كخلفية سواء فعلنا ذلك يدويا من نافذة الخصائص Properties Window أو كتابة بالكود.
كل ما ستراه هو ذلك اللون البائس أعلاه :(
أو نقوم برسم صورة الخلفية بواسطة مستطيل Rectangle في الحدث Paint الخاص بالفورم الرئيسي.
الآن تعال معي لنستعرض الحلول.
تغيير لون الخلفية (بلغة Visual Basic.Net):
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each ctl As Control In Me.Controls
If TypeOf ctl Is MdiClient Then
ctl.BackColor = Color.Aquamarine
End If
Next ctl
End Sub
تغيير لون الخلفية (بلغة C sharp.Net):
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in this.Controls)
{
if (ctl.GetType() ==typeof(MdiClient))
{
ctl.BackColor = Color.Aquamarine;
}
}
}
تغيير صورة الخلفية (بلغة Visual Basic.Net):
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each ctl As Control In Me.Controls
If TypeOf ctl Is MdiClient Then
ctl.BackgroundImage = Image.FromFile("c://myPic.jpeg")
End If
Next ctl
End Sub
تغيير صورة الخلفية (بلغة C sharp.Net):
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in this.Controls)
{
if (ctl.GetType() ==typeof(MdiClient))
{
ctl.BackgroundImage = Image.FromFile("c://myPic.jpeg");
}
}
}
هذه بعض الطرق السريعة لإنجاز المطلوب وكما ذكرنا آنفا، يوجد لدينا طرق أخرى للقيام بنفس العمل.نكتفي بهذا القدر ونلتقي في تدوينة قادمة إن شاء الله.
دام لكم البشر والفرح.
أخي الكريم
ردحذفطلب مساعد
أريد تصميم textbox يعكس من خلاله خلفية سطح المكتب
ويكتب من خلال text1 النص أو القيمه المطلوبة وتنعكس على المستند الذي خلفة على سطح المكتب
سواء مفكرة أو مستند ورد ألخ..
أخي الكريم
ردحذفنرجو تنزيل درس عن User Control
يارك الله فيك
ردحذفالسلام عليكم ورحمة الله وبركاته
ردحذفجزاكم الله خيراً على المعلومات
ولكن أود التنويه على أنه عند تغيير صورة الخلفية فإنها لن تعمل إذا كانت خاصية الـ Right To Left للـ MdiContainer مفعلة
لذلك يجب إلغاؤها وجعلها False حتى تعمل الصورة بشكل جيد, وذلك حسب تجربتي الشخصية
وعليكم السلام ورحمة الله وبركاته،
حذفأحسنت أخي الحبيب فؤاد، وجازاك الله خيرا على الإشارة إلى هذه الحيثية
استادنا خالد السعداني ما الفرق بين استخدام الكلاس عن البرمجة العادية وايهما افضل
ردحذفالسلام عليكم ورحمة الله وبركاته،
حذفالتفصيل في هذا الموضوع قد يطول والمقام يقصر عنه، لذلك ألخص لك إن شاء الله:
توجد أنماط عديدة للبرمجة، منها الطريقة العادية التي تحدثت عنها والتي تسمى البرمجة الإجرائية Procedural Programming ومنها الطريقة الكائنية التي تحدثت عنها والتي تسمى Object Oriented Programming ويوجد غيرهم كثير..
طيب ما الفرق بين هذين النمطين؟ وأيهما أفضل من الآخر؟
الفرق يتمثل في أسلوب كل نمط في حل المشاكل البرمجية وتصور الحلول، حيث في الطريقة العادية نبني البرامج بالاعتماد على الإجراءات والدوال، بينما في النمط الثاني نرتكو على الفئات Classes والكائنات Objects التي تعد نسخا من الفئات.
في نظري لا توجد مشكلة إن استخدمت أحد النمطين، لكنني أنصحك بالبرمجة كائنية التوجه لأنها ستسهل عليك عملية بناء المشاريع إضافة إلى كونها نمط العصر الذي وجب الإلمام به واستعماله.
في حفظ الله ورعايته
تم تجريب الكود على البرنامجي حيث استخدم الدوت نت 2015
ردحذفومانجحت
السلام عليكم ورحمة الله وبركاته،
حذفقم بجعل خاصية RighToLeft تساوي False وسوف تنجح إن شاء الله
السلام عليكم و رحمة الله تعالى و بركاته
ردحذفاستاذي الفاضل عندي سؤال اتعبي كثيرا و عو عبارة عن السترجاع قيمة هذا الاجرا المخزن و الذي عبارة عن اجراع لتخزين البيانات في قاعدة المبانات مع ارجاع قيمة اؤكد مدى اتمان العملية او عدمها و هذا نص الاجراء المخزن
=============================================================
CREATE PROCEDURE PS_AJOU_ABS
(
@ABS_ID VARCHAR(70),
@ELEVE_NNI VARCHAR(10),
@ABS_DATE DATE,
@ABS_DE INT,
@ABS_A INT,
@ABS_NH INT,
@OK BIT OUTPUT
)
AS
DECLARE @ERR INT
SET @ERR =0
SET @OK =0
IF NOT EXISTS (SELECT ABS_ID FROM ABSENCE WHERE ABS_ID=@ABS_ID)
BEGIN
BEGIN TRANSACTION
INSERT INTO ABSENCE (ABS_ID, ELEVE_NNI,ABS_DATE, ABS_DE, ABS_A,ABS_NH )
VALUES (@ABS_ID, @ELEVE_NNI, @ABS_DATE, @ABS_DE, @ABS_A, @ABS_NH)
SET @ERR =@ERR + @@ERROR
IF @ERR =0
BEGIN
COMMIT TRANSACTION
SET @OK =1
END
ELSE
ROLLBACK TRANSACTION
END
============================================================
اريد استرجاع قيمة المتغبر @OK استخدم C#
شكرا جزيلا و جزاكم الله خيرا
public partial class Form1 : Form
ردحذف{
private static Form1 min;
static void min_formclosed(object sender, FormClosingEventArgs e)
{
min = null;
}
public static Form1 getmainform
{
get
{
if(min==null)
{
min = new Form1();
min.FormClosed += new FormClosedEventHandler(min_formclosed);
}
return min;
}
}
الماذا الغلط هناء وقد حولة دون جدوى
min.FormClosed += new FormClosedEventHandler(min_formclosed);