الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية فرز مجموعة بيانات فى الكومبو من دالة فى الكلس

بدأه ensert.net2000 في 24 أكتوبر 2010 · 5 رد · 516 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

كيف يمكن فرز مجموعة من البيانات مكتوبة فى دالة عامة فى الكلاس

داخل اداة الكومبو بوكس فى النموذج الاول

مثال

عند Form1

وعندى Class1

ودة كود تخزين مجموعة من البيانات داخل اداة الكومبو وهذا الكود مكتوب فى الحدث Load لنموذج Form1

            comboBox1.Items.Add("Admin");
            comboBox1.Items.Add("User");

وهذا الكود شغال عادى من غير مشكلة

المطلوب هو عمل دالة فى الكلاس 1

مثال

        public string GetCombtxt()
        {

        }

اريد كتابة نفس الكود السابق فى هذة الدالة داخل ملف الكلاس وعن طريق الفورم 1 استدعى هذة الدالة

هل وضحت الفكرة

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#2

وعليكم السلام ورحمة الله وبركاته

هذا لا يستحب .. بمعنى: لا تقوم بكتابة أكواد خاصة بالـ GUI خارج الـ Form ... ولكن كل شيء ممكن .. وهذه هي الإجابة:

قم بإنشاء دالة داخل الـ Class1 وتأخذ متغير واحد من نوع ComboBox .. كالمثال التالي:

public void GetComboText(ComboBox comboBox)
{
    comboBox.Items.Add("Admin");
    comboBox.Items.Add("User");
}

ثم ثم باستدعاء هذه الدالة في حدث Load داخل Form1 كالمثال التالي:

Class1 class1 = new Class1();
class1.GetComboText(comboBox1);

أو يمكنك تعريف الدالة في Class1 من البداية static وهذا سيغنيك عن تعريف كائن من نوع Class1 في حدث الـ Load وعندها سيكون الكود بالشكل التالي:

Class1.GetComboText(comboBox1);

جزاك الله خيراً

تم تعديل هذه المشاركة بواسطة نـــور في 24 أكتوبر 2010 في 16:48

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#3

جزاك الله كل خير

بس سؤال

لماذا ؟

اقتباس
هذا لا يستحب .. بمعنى: لا تقوم بكتابة أكواد خاصة بالـ GUI خارج الـ Form

لماذا لا يستحب

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#4

وإياك :)

لا يستحب حتى تستطيع اختبار هذا الـ Class1 عن طريق الـ Unit Testing .. والـ Unit Testing هو العلم المعني باختبار وحدات البرنامج للتأكد من أنها تعمل بكفاءة كل وحدة على حدة معزولة تماماً عن الوحدات الأخرى.

وبهذا إذا قمت بعمل دالة داخل Class1 وتأخذ متغير ComboBox فهذا يعني أن Class1 مرتبط بمكونات الـ GUI وليس معزولاً عنها مما يصعب تماماً عملية اختبار الوحدة Class1 ... ولهذا فقد قلت لك لا يستحب :) خاصة إن كنت ستقوم بكتابة الـ Unit Testing. أما إن كان الأمر لا يهمك أو أن المشروع لا يتطلب هذا (مع اعتقادي الشخصي أن كل مشروع يجب أن يكون له Unit Testing على حسب الحاجة) فإذن يمكنك السير بنفس الطريقة ولا مشكلة إذن.

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

#5

اخى العزيز سوف اوضح لك فكرتى فى استخدام هذا الموضوع

عند استخدام مشاريع قواعد البيانات

يستخدم فرز محتويات حقل من حقول قاعدة البيانات داخل اداة من ادوات ( ComboBox - ListBox )

وانا شخصيا استخدم هذا بكثرة ففكرت انى ابنى دالة واحدة واستدعيها بسطر واحد

يعنى مثال

وجزاك الله كل خير على المثال السابق الذى انشأت بية الفكرة الخاصة بهذا الموضوع

المثال انظر الى هذة الدالة

        public void GetCombtxt(ComboBox Optin,string Table,string Record)
        {
            OleDbConnection Conn = new OleDbConnection(OOP);
            Conn.Open();
            OleDbCommand cmd = new OleDbCommand("Select * From " + Table , Conn);
            OleDbDataReader dr = cmd.ExecuteReader();
            Optin.Items.Clear();
            while (dr.Read())
            {
                Optin.Items.Add(dr[Record]);
            }
            dr.Close();
            Conn.Close();
        }

انظر الى هذا الاستدعاء

            Class1 MyClass = new Class1();
            MyClass.GetCombtxt(comboBox1, "Tab_Menu", "Menu");

            Class1 MyClass = new Class1();
            MyClass.GetCombtxt(comboBox3, "Tab_Customer", "Name");

            Class1 MyClass = new Class1();
            MyClass.GetCombtxt(comboBox2, "Tab_WorkType", "Type");

اعتقد الموضوع مفهوم

هذة الفكرة لا اكثر

فهل لو استخدمتها فى بناء المشاريع الخاصة بى جيدة ام فيها مشاكل

تحياتى لك

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#6

أخي الحبيب ..

لا يوجد مشاكل أبداً في طريقتك وستعمل 100% ...

ولكن أن يعمل الكود الخاص بك ويعطيك النتيجة المرجوة .. ليس شرطاً في أن يكون هذا أفضل حل.

أحياناً نكتب برامج ويكون الإتجاه الرئيسي أن نختبر كل سطر في البرنامج .. في هذه الحالة لا يمكن أن نستخدم الحل الخاص بك.

وفي بعض الأحيان ليس من المهم أن نختبر كل شيء، أو قد يكون ليس من المهم أن نختبر أي شيء .. في مقابل أن نقوم بتسريع التطوير .. وهكذا

مدونة ابنتي الرضيعة: يوميات رزان

مدونتي التقنية العربية: البرمجة مع عبد المنعم

Technical Blog: Abdul Moniem's Thoughts

LinkedIn: Profile

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…