تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إنشاء مشروع باستخدام sql server و linq وتقارير crystal report
#31
وفقك الله لعمل الخير أخي ربيع عجزت الكلمات عن اعطائك حقك من الاطراء والشكر فبارك الله لك في علمك ونفعنا بك وجعله في ميزان حسناتك
الرد }}}
تم الشكر بواسطة:
#32
نورالايمان كتب :وفقك الله لعمل الخير أخي ربيع عجزت الكلمات عن اعطائك حقك من الاطراء والشكر فبارك الله لك في علمك ونفعنا بك وجعله في ميزان حسناتك

اللهم آمين، وأنت كذلك
الرد }}}
تم الشكر بواسطة:
#33
نضع في تبويب (إدخال)، أداتي GroupBox وأداة Button، داخل الـ groupBox1 نضع 3 Label و3 textBox، داخل الـ groupBox2 نضع أداة Panel وداخل الـ Panel نضع TextBox.
نضبطه ليكون هكذا:



بما أن رقم الهاتف قد يكون غير محدود، سوف نجعل الـ textbox المخصص لإدخال الرقم والذي اسميناه pbox يتضاعف عند كتابة رقم جديد، ومن ثم نحفظ البيانات دفعة واحدة في القاعدة، نذهب لحدث TextChanged التابع لمربع نص الرقم لنكتب فيه:
:#C
كود :
[align=left]if (plist.Controls[plist.Controls.Count - 1].Focused && plist.Controls[plist.Controls.Count - 1].Text.Length == 1)
{
    TextBox tb = new TextBox();
    tb.Width = pbox.Width;
    tb.Location = new Point(pbox.Location.X, (pbox.Top + pbox.Height + 5) * plist.Controls.Count);
    tb.TextChanged += new EventHandler(pbox_TextChanged);
    tb.KeyPress += new KeyPressEventHandler(pbox_KeyPress);

    plist.Controls.Add(tb);
}[/align]

:VB
كود :
[align=left]If plist.Controls(plist.Controls.Count - 1).Focused AndAlso plist.Controls(plist.Controls.Count - 1).Text.Length = 1 Then
    Dim tb As New TextBox()
    tb.Width = pbox.Width
    tb.Location = New Point(pbox.Location.X, (pbox.Top + pbox.Height + 5) * plist.Controls.Count)
    AddHandler tb.TextChanged, AddressOf pbox_TextChanged
    AddHandler tb.KeyPress, AddressOf pbox_KeyPress

    plist.Controls.Add(tb)
End If[/align]


قمنا بإنشاء مربع نص جديد، ووضعه في الـ plist، بعد ضبط خصائصه ومكانه، ثم أضفناه له أحداث كي نستطيع إضافة مربع نص آخر عند كل إضافة رقم جديد.
نريد تحديد الإدخال في مربع نص الرقم، ليقبل أرقام فقط، ولذلك نذهب لحدث الـ KeyPress التابع له لنكتب:
:#C
كود :
[align=left]e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);[/align]

:VB
كود :
[align=left]e.Handled = Not Char.IsDigit(e.KeyChar) AndAlso Not Char.IsControl(e.KeyChar)
[/align]


الآن أصبحنا جاهزين لإدخال البيانات، في حدث ضغط زر حفظ نكتب:
:#C
كود :
[align=left]if (string.IsNullOrEmpty(nbox.Text.Trim()) || string.IsNullOrEmpty(abox.Text.Trim()))
{ MessageBox.Show("يجب اكمال البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }

DB.Persons person = new DB.Persons();
person.Name = nbox.Text.Trim();
person.Address = abox.Text.Trim();
person.Note = tbox.Text.Trim();

try { db.Persons.InsertOnSubmit(person); db.SubmitChanges(); }
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); return; }

foreach (Control tb in plist.Controls)
    if (tb is TextBox && !string.IsNullOrEmpty(tb.Text))
    {
        DB.PhoneNumbers pn = new DB.PhoneNumbers();
        pn.PersonID = person.ID;
        pn.Phone = tb.Text;

        db.PhoneNumbers.InsertOnSubmit(pn);
    }

try { db.SubmitChanges(); } catch { }

MessageBox.Show("تمت الاضافة بنجاح!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);

nbox.Text = string.Empty;
abox.Text = string.Empty;
tbox.Text = string.Empty;
pbox.Text = string.Empty;

for (int i = 1; i <= 2; ++i)
    foreach (Control ctrl in plist.Controls)
        if (ctrl.Name != "pbox") plist.Controls.Remove(ctrl);

GetData();[/align]
:VB
كود :
[align=left]If String.IsNullOrEmpty(nbox.Text.Trim()) OrElse String.IsNullOrEmpty(abox.Text.Trim()) Then
    MessageBox.Show("يجب اكمال البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Warning)
    Return
End If

Dim person As New DB.Persons()
person.Name = nbox.Text.Trim()
person.Address = abox.Text.Trim()
person.Note = tbox.Text.Trim()

Try
    db.Persons.InsertOnSubmit(person)
    db.SubmitChanges()

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Exit Sub
End Try

For Each tb As Control In plist.Controls
    If TypeOf (tb) Is TextBox AndAlso Not String.IsNullOrEmpty(tb.Text) Then

Dim pn As New DB.PhoneNumbers()
pn.PersonID = person.ID
pn.Phone = tb.Text

db.PhoneNumbers.InsertOnSubmit(pn)
    End If
Next

Try
    db.SubmitChanges()

Catch
End Try

MessageBox.Show("تمت الاضافة بنجاح!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

nbox.Text = String.Empty
abox.Text = String.Empty
tbox.Text = String.Empty
pbox.Text = String.Empty

For i As Integer = 1 To 2
    For Each ctrl As Control In plist.Controls
If (ctrl.Name <> "pbox") Then plist.Controls.Remove(ctrl)
    Next
Next

GetData()[/align]


GetData() إجراء سوف نضيفه فيما بعد إن شاء الله.
نذهب لتبويب (تعديل)، ونجعله كهذا الشكل:



في حدث الـ SelectedIndexChanged التابع للأداة nflist، نكتب:
:#C
كود :
[align=left]try
{
    DB.Persons person = (DB.Persons)nflist.SelectedValue;
    enbox.Text = person.Name;
    eabox.Text = person.Address;
    etbox.Text = person.Note;

    pflist_SelectedIndexChanged(sender, e);
}
catch { }[/align]

:VB
كود :
[align=left]Try

    Dim person As DB.Persons = CType(nflist.SelectedValue, DB.Persons)
    enbox.Text = person.Name
    eabox.Text = person.Address
    etbox.Text = person.Note

    pflist_SelectedIndexChanged(sender, e)

Catch
End Try
[/align]


في حدث زر (حفظ)، نكتب:
:#C
كود :
[/align]
try
{
    DB.Persons person = (DB.Persons)nflist.SelectedValue;
    person.Name = enbox.Text;
    person.Address = eabox.Text;
    person.Note = etbox.Text;

    db.SubmitChanges();

    MessageBox.Show("تم تحديث البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }[align=right]
:VB
كود :
[/align]
Try
    Dim person As DB.Persons = CType(nflist.SelectedValue, DB.Persons)
    person.Name = enbox.Text
    person.Address = eabox.Text
    person.Note = etbox.Text

    db.SubmitChanges()

    MessageBox.Show("تم تحديث البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try[align=right]


في حدث الـ SelectedIndexChanged التابع للأداة pflist، نكتب:
:#C
كود :
[/align]
epbox.Text = pflist.Text;[align=right]
:VB
كود :
[/align]
epbox.Text = pflist.Text[align=right]


الآن نأتي للـ LinkLabel، في (تحديث) نكتب:
:#C

كود :
[align=left]try
{
    DB.PhoneNumbers pn = (DB.PhoneNumbers)pflist.SelectedValue;
    pn.Phone = epbox.Text.Trim();

    db.SubmitChanges();

    MessageBox.Show("تم تحديث الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }
[/align]

:VB
كود :
[align=left]Try
    Dim pn As DB.PhoneNumbers = CType(pflist.SelectedValue, DB.PhoneNumbers)
    pn.Phone = epbox.Text.Trim()

    db.SubmitChanges()

    MessageBox.Show("تم تحديث الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
[/align]


في (إضافة)، نكتب:
:#C
كود :
[align=left]try
{
    DB.PhoneNumbers pn = new DB.PhoneNumbers();
    pn.PersonID = ((DB.Persons)nflist.SelectedValue).ID;
    pn.Phone = epbox.Text.Trim();

    db.PhoneNumbers.InsertOnSubmit(pn);
    db.SubmitChanges();

    MessageBox.Show("تمت إضافة الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }[/align]

:VB
كود :
[align=left]Try
    Dim pn As New DB.PhoneNumbers()
    pn.PersonID = CType(nflist.SelectedValue, DB.Persons).ID
    pn.Phone = epbox.Text.Trim()

    db.PhoneNumbers.InsertOnSubmit(pn)
    db.SubmitChanges()

    MessageBox.Show("تمت إضافة الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
[/align]


في (حذف) نكتب:
:#C
كود :
[align=left]if (MessageBox.Show("هل أنت متأكد", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;

try
{
    db.PhoneNumbers.DeleteOnSubmit((DB.PhoneNumbers)pflist.SelectedValue);
    db.SubmitChanges();

    MessageBox.Show("تم حذف الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }
[/align]

:VB
كود :
[align=left]If MessageBox.Show("هل أنت متأكد", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then Exit Sub

Try
    db.PhoneNumbers.DeleteOnSubmit(CType(pflist.SelectedValue, DB.PhoneNumbers))
    db.SubmitChanges()

    MessageBox.Show("تم حذف الرقم", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
[/align]


هكذا انتهينا من (إدخال وتعديل)، نتوجه لتبويب (حذف)، سوف يكون كهذا:



في حدث زر حذف، نكتب:
:#C
كود :
[align=left]if (MessageBox.Show("هل أنت متأكد", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;

try
{
    var pn = from d in db.PhoneNumbers
             where d.PersonID == ((DB.Persons)dnflist.SelectedValue).ID
             select d;

    foreach (var p in pn) db.PhoneNumbers.DeleteOnSubmit(p);

    db.Persons.DeleteOnSubmit((DB.Persons)dnflist.SelectedValue);
    db.SubmitChanges();

    MessageBox.Show("تم حذف البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);

    GetData();
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }[/align]

:VB
كود :
[align=left]If MessageBox.Show("هل أنت متأكد", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then Exit Sub

Try
    Dim pn = From d In db.PhoneNumbers
             Where d.PersonID = CType(nflist.SelectedValue, DB.Persons).ID
             Select d

    For Each p In pn
        db.PhoneNumbers.DeleteOnSubmit(p)
    Next

    db.Persons.DeleteOnSubmit(CType(nflist.SelectedValue, DB.Persons))
    db.SubmitChanges()

    MessageBox.Show("تم حذف البيانات", Text, MessageBoxButtons.OK, MessageBoxIcon.Information)

    GetData()

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try[/align]


نذهب لتبويب (استعراض)، سيكون كما يلي:



بقي أن نضيف إجراء GetData، فقط:
:#C
كود :
[align=left]private void GetData()
{
    try
    {
        var persons = from d in db.Persons
                      select d;

        BindingSource bsn = new BindingSource();
        bsn.DataSource = persons;

        BindingSource bsp = new BindingSource();
        bsp.DataSource = bsn;
        bsp.DataMember = "PhoneNumbers";
        //
        // تعديل البيانات
        //
        nflist.DataSource = bsn;
        nflist.DisplayMember = "Name";

        pflist.DataSource = bsp;
        pflist.DisplayMember = "Phone";
        //
        // حذف البيانات
        //
        dnflist.DataSource = bsn;
        dnflist.DisplayMember = "Name";
        //
        // استعراض البيانات
        //
        ndata.DataSource = null;
        ndata.Columns.Clear();
        ndata.AutoGenerateColumns = false;
        ndata.ColumnCount = 3;
        ndata.DataSource = bsn;
        ndata.Columns[0].HeaderText = "الاسم";
        ndata.Columns[1].HeaderText = "العنوان";
        ndata.Columns[2].HeaderText = "ملاحظات";
        ndata.Columns[0].DataPropertyName = "Name";
        ndata.Columns[1].DataPropertyName = "Address";
        ndata.Columns[2].DataPropertyName = "Note";

        pdata.DataSource = null;
        pdata.Columns.Clear();
        pdata.AutoGenerateColumns = false;
        pdata.ColumnCount = 1;
        pdata.DataSource = bsp;
        pdata.Columns[0].HeaderText = "رقم الهاتف";
        pdata.Columns[0].DataPropertyName = "Phone";
    }
    catch { }
}[/align]

:VB
كود :
[align=left]Private Sub GetData()
    Try
        Dim persons = From d In db.Persons
                      Select d

        Dim bsn As New BindingSource()
        bsn.DataSource = persons

        Dim bsp As New BindingSource()
        bsp.DataSource = bsn
        bsp.DataMember = "PhoneNumbers"
        '
        ' تعديل البيانات
        '
        nflist.DataSource = bsn
        nflist.DisplayMember = "Name"

        pflist.DataSource = bsp
        pflist.DisplayMember = "Phone"
        '
        ' حذف البيانات
        '
        dnflist.DataSource = bsn
        dnflist.DisplayMember = "Name"
        '
        ' استعراض البيانات
        '
        ndata.DataSource = Nothing
        ndata.Columns.Clear()
        ndata.AutoGenerateColumns = False
        ndata.ColumnCount = 3
        ndata.DataSource = bsn
        ndata.Columns(0).HeaderText = "الاسم"
        ndata.Columns(1).HeaderText = "العنوان"
        ndata.Columns(2).HeaderText = "ملاحظات"
        ndata.Columns(0).DataPropertyName = "Name"
        ndata.Columns(1).DataPropertyName = "Address"
        ndata.Columns(2).DataPropertyName = "Note"

        pdata.DataSource = Nothing
        pdata.Columns.Clear()
        pdata.AutoGenerateColumns = False
        pdata.ColumnCount = 1
        pdata.DataSource = bsp
        pdata.Columns(0).HeaderText = "رقم الهاتف"
        pdata.Columns(0).DataPropertyName = "Phone"

    Catch
    End Try
End Sub
[/align]


في حدث التحميل للنموذج، في آخر الكود تحت سطر Login() نكتب:
:#C
كود :
[align=left]GetData();
[/align]

:VB
كود :
[align=left]GetData
[/align]
الرد }}}
تم الشكر بواسطة:
#34
لقد ابهرتنا الفكرة والطريقة وعلمكم الغزير
نرجوا ان تتحمل اسئلتنا
نحن نتعرف علي هذا العمل من جديد
لا يتم التحديث فى تاب الاستعراض الا بعد غلق البرنامج وفتحه
كيف نعدل قاعدة البيانات دون فقد البيانات القديمة
مطلوب مفتاح جديد فى موضوع الاضافة
مطلوب بحث حر بكتابة اسم فى التيكست وضغط زر بحث
اخير (سؤال مكرر)امكانية عمل نسخة من قاعدة البيانات
اخيرا نشكر صبرك علينا ونقر ونعترف بقدراتك فى هذا الموضوع
بارك الله فيك
ملحوظة هامة حتى الان عمل غير عادى
نرجو ان يكون هناك شرح مفصل فى كتاب يكتب بمزاج رايق
الرد }}}
تم الشكر بواسطة:
#35
نحمده ونصلي على رسوله الكريم

إقتباس :لا يتم التحديث فى تاب الاستعراض الا بعد غلق البرنامج وفتحه
قمنا بإنشاء إجراء منفصل اسمه GetData لتحديث البيانات، يمكننا استخدامه وقتما شئنا، بعد إدخال بيانات أو تعديل بيانات الخ....

إقتباس : كيف نعدل قاعدة البيانات دون فقد البيانات القديمة
من خلال SQL Server Management Studio، قم بتعديل الجداول والحقول كيفما تشاء، ثم من داخل الفجوال ستوديو، قم بسحب الجداول (بعد حذف القديم منها) إلى محتوى البيانات من Server Explorer.

إقتباس : مطلوب مفتاح جديد فى موضوع الاضافة
لم أفهم السؤال....

إقتباس : مطلوب بحث حر بكتابة اسم فى التيكست وضغط زر بحث
سوف نأتي لها إن شاء الله في التقارير.

إقتباس : اخير (سؤال مكرر)امكانية عمل نسخة من قاعدة البيانات
سوف نأتي لها في آخر المشروع إن شا الله. أوشكنا على الإنتهاء، بقي التقارير ومن ثم النسخ الإحتياطي.

إقتباس : اخيرا نشكر صبرك علينا ونقر ونعترف بقدراتك فى هذا الموضوع
بارك الله فيك
ملحوظة هامة حتى الان عمل غير عادى
نرجو ان يكون هناك شرح مفصل فى كتاب يكتب بمزاج رايق

بارك الله فيك، سوف أعمل على ذلك إن شا الله.
الرد }}}
تم الشكر بواسطة:
#36
مشكل ما حب يفتح عندي وللأسف الفجاول بزيك
هذا الخطأ
a project with an output type library can not be started directly.
debugger for this project, add a project to this fa solution librarian library. Set the executable project as the startup project
الرد }}}
تم الشكر بواسطة:
#37
biloo.vb كتب :مشكل ما حب يفتح عندي وللأسف الفجاول بزيك
هذا الخطأ
a project with an output type library can not be started directly.
debugger for this project, add a project to this fa solution librarian library. Set the executable project as the startup project

الظاهر انك تعمل على مشروع من نوع class library، قم بإنشاء مشروع جديد من نوع windows forms application.
الرد }}}
تم الشكر بواسطة:
#38
سوف نضيف خيارات جديدة على القائمة MenuStip كالتالي:
  • تقرير
    • كل الأسماء
    • محدد

  • قاعدة البيانات
    • نسخ احتياطي
    • استرجاع
    • تصفير قاعدة البيانات

قبل أن نشرع في عمل التقرير، هنالك إعدادات للمشروع يجب أن نعدلها.
نذهب لخصائص المشروع، ثم نتبع الصورة:
:#C



:VB



ثم نذهب لملف app.config، من Solution Explorer، سوف نضيف هذا الكود عليه:



* إذا وجدنا الكود نقوم بالتعديل عليه فقط.[HTML]
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
[/HTML]

الآن نبدأ بإضافة التقرير للمشروع، من Solution Explorer نضغط على المشروع، ثم نختار:
  • Add
    • New Item

نضيف Crystal Report، ليكن اسمه Report، ثم نتبع الصور التالية:





















هكذا يظهر التقرير، بعد القليل من التنسيقات:



نضيف نموذج جديد للمشروع، سيكون اسمه All:



في حدث التحميل للنموذج، نكتب:
:#C
كود :
[align=left]try
{
    DB.PhoneBookDB db = new DB.PhoneBookDB();

    var data = from d in db.Persons select d;

    Report report = new Report();
    report.SetDataSource(data);

    viewer.ReportSource = report;
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }[/align]

:VB
كود :
[align=left]Try
    Dim db As New DB.PhoneBookDB()

    Dim data = From d In db.Persons Select d

    Dim report As New Report()
    report.SetDataSource(data)

    viewer.ReportSource = report

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try[/align]

نضيف نموذج جديد للمشروع، اسمه Custom:



في حدث ضغط زر البحث:
:#C
كود :
[align=left]DB.PhoneBookDB db = new DB.PhoneBookDB();
Report report = new Report();

try
{
    if (byname.Checked)
    {
        var data = from d in db.Persons
                   where match.Checked ? d.Name == fbox.Text.Trim() : d.Name.Contains(fbox.Text.Trim())
                   select d;

        report.SetDataSource(data);
    }

    else
    {
        var data = from d in db.Persons
                   where d.PhoneNumbers.Any(p => match.Checked ? p.Phone == fbox.Text.Trim() : p.Phone.Contains(fbox.Text.Trim()))
                   select d;

        report.SetDataSource(data);
    }

    viewer.ReportSource = report;
}
catch (Exception ex) { MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error); }
[/align]

:VB
كود :
[align=left]Dim db As New DB.PhoneBookDB()
Dim report As New Report()

Try
    If byname.Checked Then
        Dim data = From d In db.Persons
                   Where IIf(match.Checked, d.Name = fbox.Text.Trim(), d.Name.Contains(fbox.Text.Trim()))
                   Select d

        report.SetDataSource(data)

    Else
        Dim data = From d In db.Persons
                   Where d.PhoneNumbers.Any(Function(p) IIf(match.Checked, p.Phone = fbox.Text.Trim(), p.Phone.Contains(fbox.Text.Trim())))
                   Select d

        report.SetDataSource(data)
    End If

    viewer.ReportSource = report

Catch ex As Exception
    MessageBox.Show(ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
[/align]

نعود للنموذج الرئيسي، نختار من قائمة تقرير (كل الأسماء) ثم نكتب:
:#C
كود :
[align=left]All all = new All();
all.Show(this);[/align]

:VB
كود :
[align=left]All.Show(Me)[/align]

ثم نختار (محدد)، لنكتب:
:#C
كود :
[align=left]Custom custom = new Custom();
custom.Show(this);
[/align]

:VB
كود :
[align=left]Custom.Show(Me)[/align]
الرد }}}
تم الشكر بواسطة:
#39
اخى ربيع
اصبعى تعبنى من كتر الشكر والاعجاب بهذا الموضوع Wink
هذا الموضوع سيكون ضمن افضل المواضيع فى المنتدى
يكفى مجهودك فيه
بارك الله فيك وجازاك خيرا وذادك من علمه
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:
#40
learning.net كتب :اخى ربيع
اصبعى تعبنى من كتر الشكر والاعجاب بهذا الموضوع Wink
هذا الموضوع سيكون ضمن افضل المواضيع فى المنتدى
يكفى مجهودك فيه
بارك الله فيك وجازاك خيرا وذادك من علمه

هههههه بارك الله فيك Smile
ان شا الله يكون الشرح واضح
وجزاك بالمثل وزادك من العلم ان شا الله
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم