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

هل ممكن طريقة الوراثة في التطبيقات تأثيرات الزجاجية

بدأه mdf في 18 يونيو 2010 · 16 رد · 939 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السؤال هو اذا كان لدى المبرمج اكثر من فورم هل يجعل الكود في كل فروم ؟هل نستخدم كلاس ونستخدم الوراثة ؟

اما طبقت الوراثة لكن لم يكن هناك اي فائده

في المرفقات مثال من احدى الاعضاء

لكن انا اريد استخدامه في اكثر من فورم بالكلاس

vbWDM.rar

#2

The question is if I have more than a programmed form Does that make the code in each Frum? Are we using CLASS and use genetics?

#3

كلاس ووراثة منه....معقوله محد فاهم

#4

ممنتظرين من زمان ....

#5

للرفع

#6

إذا كنت قد فهمت سؤالك, قم بعد زيادة فورم جديد بفتح الملف الخاص به Form#.Designer.vb ثم حرر السطر التالي :

Inherits System.Windows.Forms.Form

إلى كود الوراثة من الفورم الذي تريد

Inherits vbWDM.Form1
#7
mdf كتب:

The question is if I have more than a programmed form Does that make the code in each Frum? Are we using CLASS and use genetics?

Bad Grammar & Vocabulary

و إجابة سؤالك

الفورمة دي عبارة عن object من Class أسمه Form و من أفضل و من أكبر مزاية الObject Oriented ال Inherits

و هو معناه الوراثة

أول خطوة :-

جرب أعمل Form و غير الBackGroundColor و أعمل فيها Variable اى نوع و لنفترض Integer بس يكون بالشكل ده

Public x as integer ثم أعمل Build لل project بتاعك

الخطوة الثانية : -

أعمل Add Inherited Form هيفتحلك Window هتلاقى فيها أسم الفورمة بتاعتك أختار الفورمة ثم إضغط على Ok

بس كده هتلاقى الفورمة اتعملها Create و عمل Inherit للفورمة بتاعتك بنفس الديزاين الفورمة الأولى

لو ضغط F7 للدخول إلى صفحة الكود

و كتبت x هتلاقى الVaribale الأنت عملتها Declaration

أسف لعدم وضع كود بسبب ضيق وقتى

و أنصاحك بدراسة الObject Oriented

لأنه من أساسيات البرمجة تحت إطار ال .Net Framework

و بالتوفيق إن شاء الله

#8
محمد رضى كتب:

إذا كنت قد فهمت سؤالك, قم بعد زيادة فورم جديد بفتح الملف الخاص به Form#.Designer.vb ثم حرر السطر التالي :

Inherits System.Windows.Forms.Form

إلى كود الوراثة من الفورم الذي تريد

Inherits vbWDM.Form1

انت فهمت ...لكن انا اريده في كلاس منفصل.....يعني الكود الخاص للتأثيرات الزجاجي يكون بالكلاس و داخل الفروم 1 وفروم 2 نعمل وراثة للكلاس ...انا عملتها لكن طلع اخطأ

#9

و أنا عملتها على المشروع المرفق و طلعت صح.

بعد زيادة الفورم الثاني Form2 قم بعمل التصحيح المذكور داخل الملف Form2.Designer.vb

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

#10
محمد رضى كتب:

و أنا عملتها على المشروع المرفق و طلعت صح.

بعد زيادة الفورم الثاني Form2 قم بعمل التصحيح المذكور داخل الملف Form2.Designer.vb

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

تجد في المرفقات التجربه الذي شرحتها test2 لم تعمل لدي استطلع عليها إذا كان لدي خطأ

والذي كنت اقصده من كلامي التجربه المرفقه class1

test2.rar

class1.rar

تم تعديل هذه المشاركة بواسطة mdf في 24 يونيو 2010 في 14:42

#11

class1 يجب أن ترث من System.Windows.Forms.Form حتى تستطيع أن تورث وظائفها لفورم آخر.

أنظر المثال المعدل المرفق و بانتظار أسئلتك و ملاحظاتك...

test2.rar

#12

مثلا انت معك في الكلاس التالي دالة تريد استدعائها اكثر من مرة اوكي فبتسوي في الكلاس الدالة بالشكل التالي مثلاً

Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Convert
Imports System.DBNull
Public Class DataAccess
    Dim ConStr As New String("Data Source=user\SQL2008;Initial Catalog=databasename;Integrated Security=True")
    Dim SqlConn As New SqlConnection(ConStr)

    Public Sub DataAccess()
        SqlConn.Open()
    End Sub

    Public Sub closeconn()
        SqlConn.Close()
    End Sub

Public Function GetUser() As DataTable
        Dim DBadpt As SqlDataAdapter
        Dim DBdt As DataTable
DBadpt = New SqlDataAdapter("Select * from tablename,SqlConn)
DBdt = New DataTable()
        DBadpt.Fill(DBdt)
        Return DBdt
    End Function

اوكـــــــــــــــــــــــــــــــــــي هذا في الكلاس بعدها تروح على ال form بتاعتك وبتسوي

Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI
Imports System.DBNull


Public Class VUser
بتعرف متغير من نوع الكلاس 
    Public Da As New DataAccess
 Private Sub VUser_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
هنا انت بتستدعي الدالة من الكلاس بمعلومية ال object اللي هو Da اوكي
  DataGridView1.DataSource = Da.GetUser()
    End Sub

وان شاء الله بكون افدتك واعذرني طولت المثال لكن علشان يكون واضح رغم انك مش بحاجته كله اوكي سلام

#13
محمد رضى كتب:

class1 يجب أن ترث من System.Windows.Forms.Form حتى تستطيع أن تورث وظائفها لفورم آخر.

أنظر المثال المعدل المرفق و بانتظار أسئلتك و ملاحظاتك...

جزاك الله خير اخي محمد فعلاً مبرمجة ......لكن لدي بعض الاسئله انت إنشأة فورم وسميته class1 ولم تنشي كلاس فعلي؟

السؤال الثاني لماذا استخدمت Inherits System.Windows.Forms.Form داخل class1 اليس هو الموروث؟

السؤال الثالث ماوضيفة الكود الذي وضعت داخل class2 و هو

Private Sub InitializeComponent()

Me.SuspendLayout()

'

'Class1

'

Me.ClientSize = New System.Drawing.Size(284, 264)

Me.Name = "Class1"

Me.ResumeLayout(False)

End Sub

وممكن شرح له ؟

السؤال الرابع شكراً لك وجزاك الله خير

#14
اقتباس
لكن لدي بعض الاسئله انت إنشأة فورم وسميته class1 ولم تنشي كلاس فعلي؟

كل مربع أو كائن دوت نت هو في الأصل مكتوب كفئة (كلاس) في الأصل. الفئة class1 هي فئة لـ Form بالوراثة

اقتباس
السؤال الثاني لماذا استخدمت Inherits System.Windows.Forms.Form داخل class1 اليس هو الموروث؟

أنت تريد إنشاء فئة تسهل عليك تطبيق تأثير الزجاج على كل النماذج, لذا سيكون المفروض عليك أن تنشئ فئة تسير تأثير الزجاج و بها كل الدالات و المتغيرات المساعدة للقيام بهذا الغرض. و كي تستطيع توريث هذه الوضائف للنماذج على مشروعك, تحتاج الفئة class1 لترث من الفئة الأصلية System.Windows.Forms.Form

اقتباس
السؤال الثالث ماوضيفة الكود الذي وضعت داخل class2 و هو

Private Sub InitializeComponent()

Me.SuspendLayout()

'

'Class1

'

Me.ClientSize = New System.Drawing.Size(284, 264)

Me.Name = "Class1"

Me.ResumeLayout(False)

End Sub

وممكن شرح له ؟

بصراحة لا أتذكر أنني كتبت فئة اسمها class2 في المشروع المرفق. على كل, مسير تصميم واجهة المستخدم ينشئ الدالة InitializeComponent() في الملف Form#.Designer.vb التي بداخلها تتم كتابة الكود المنشأ أوتوماتيكيا و المسؤول عن إنشاء واجهة المستخدم أي مربعات التحكم و النموذج.

يبدو أن فيجوال ستوديو هو من قام بزيادة الكود الذي ذكرت. أنا قمت بتعديل المثال على #Develop

#15
محمد رضى كتب:

كل مربع أو كائن دوت نت هو في الأصل مكتوب كفئة (كلاس) في الأصل. الفئة class1 هي فئة لـ Form بالوراثة

أنت تريد إنشاء فئة تسهل عليك تطبيق تأثير الزجاج على كل النماذج, لذا سيكون المفروض عليك أن تنشئ فئة تسير تأثير الزجاج و بها كل الدالات و المتغيرات المساعدة للقيام بهذا الغرض. و كي تستطيع توريث هذه الوضائف للنماذج على مشروعك, تحتاج الفئة class1 لترث من الفئة الأصلية System.Windows.Forms.Form

بصراحة لا أتذكر أنني كتبت فئة اسمها class2 في المشروع المرفق. على كل, مسير تصميم واجهة المستخدم ينشئ الدالة InitializeComponent() في الملف Form#.Designer.vb التي بداخلها تتم كتابة الكود المنشأ أوتوماتيكيا و المسؤول عن إنشاء واجهة المستخدم أي مربعات التحكم و النموذج.

يبدو أن فيجوال ستوديو هو من قام بزيادة الكود الذي ذكرت. أنا قمت بتعديل المثال على #Develop

عفواً اخي اقصد class1

مكتوب في اخر الكود

Private Sub InitializeComponent()

Me.SuspendLayout()

'

'Class1

'

Me.ClientSize = New System.Drawing.Size(284, 264)

Me.Name = "Class1"

Me.ResumeLayout(False)

End Sub

هذا الكود هل هو للحجم الفورم

#16

إذا أعدت تحميل الملف المضغوط المرفق لن تجد أثرا للكود ما يؤكد أن فيجوال ستوديو قام بزيادته أوتوماتيكيا و هو كود لتهيئة و تحديد اسم و حجم الفورم.

#17
محمد رضى كتب:

إذا أعدت تحميل الملف المضغوط المرفق لن تجد أثرا للكود ما يؤكد أن فيجوال ستوديو قام بزيادته أوتوماتيكيا و هو كود لتهيئة و تحديد اسم و حجم الفورم.

نعم الكود اضيف بشكل اوتوماتيكيا ....و الدليل حذفت الكود ورجع البرنامج الكود......على العموم مشكور وجزاك الله خير وكثر الله امثالك وجعل الجنة مثوانا ومثواكم....,

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

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

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

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

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