تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] عايز اعرف ايه السبب وايه الحل؟ RaiseEvent
#1


السلام عليكم

ممكن مساعدة عايز اعرف ايه السبب وايه الحل؟
الرد }}}
تم الشكر بواسطة:
#2
الـ Delegate لا ينادى بالـ RaiseEvent
ولا يمكن إستخدامها مباشرتاً كـ Expressions

المفروض تستخدم Invoke من متغير نفس نوع الـ Delegate 
الرد }}}
تم الشكر بواسطة: sendbad100
#3
(10-05-18, 03:53 PM)عبدالله الدوسري كتب : الـ Delegate لا ينادى بالـ RaiseEvent
ولا يمكن إستخدامها مباشرتاً كـ Expressions

المفروض تستخدم Invoke من متغير نفس نوع الـ Delegate 

طيب ممكن تقلي تعديل الكود هيكون ايه؟
الرد }}}
تم الشكر بواسطة:
#4
الواضح انك مترجم الكود من #C ولكن بشكل خاطئ فقط لا غير 
عموما الكود أسهل مما تتخيل بسرط يكون عندك Event , EventArgs المناسبة لكي تطلق الحدث

الكود الخاص بك يجب ان يكون كالتالي ......


كود :
       Try
           If od.ShowDialog <> DialogResult.Cancel Then
               If IO.File.Exists(Me.od.FileName) Then
                   Dim fc As String = IO.File.ReadAllText(Me.od.FileName)
                   If fc.Contains("@") Then
                       'RaiseEvent
                   End If
               End If
           End If
       Catch ex As Exception

       End Try
Retired
الرد }}}
تم الشكر بواسطة: الماجيك مسعد
#5
بالفعل انا محول الكود من سي شارب ببرنامج instant vb
لو تعرف برنامج افضل منه يريت تقول اسمه

واشكرك جزيلا
الرد }}}
تم الشكر بواسطة:
#6
هذا هو الكود الأكثر دقة و الذي لا تكتبه لك برامج مثل Reflector او جتي حين تستخدم برامج تترجم من #C الي الفيجوال


كود :
Public Class Form1

   Private ofd As OpenFileDialog

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Try
           If ofd.ShowDialog <> DialogResult.Cancel Then
               If IO.File.Exists(Me.ofd.FileName) Then
                   Dim fc As String = IO.File.ReadAllText(Me.ofd.FileName)
                   If fc.Contains("@") Then
                       Me.OnSourceSlected(New SourceSelectedEventArgs(True, fc))
                   End If
               Else
                   ' أظهر الرسالة
               End If
           End If
       Catch ex As Exception

       End Try
   End Sub

   Protected Overridable Sub OnSourceSlected(e As SourceSelectedEventArgs)
       Dim handler As SelectedEventHandler = CType(Me.Events("SourceSelectedEvent"), SelectedEventHandler)
       If (handler IsNot Nothing) Then
           RaiseEvent SourceSelected(Me, e)
       End If
   End Sub

   Public Custom Event SourceSelected As SelectedEventHandler
       AddHandler(value As SelectedEventHandler)
           Me.Events.AddHandler("SourceSelectedEvent", value)
       End AddHandler
       RemoveHandler(value As SelectedEventHandler)
           Me.Events.RemoveHandler("SourceSelectedEvent", value)
       End RemoveHandler
       RaiseEvent(sender As Object, e As SourceSelectedEventArgs)
           CType(Me.Events("SourceSelectedEvent"), SelectedEventHandler).Invoke(sender, e)
       End RaiseEvent
   End Event

End Class

Public Delegate Sub SelectedEventHandler(sender As Object, e As SourceSelectedEventArgs)

Public Class SourceSelectedEventArgs
   Inherits EventArgs
   Private _isImported As Boolean
   Private _ids As String

   Public Sub New(isImported As Boolean, ids As String)
       Me._isImported = isImported
       Me._ids = ids
   End Sub

   Public Property IsImported As Boolean
       Get
           Return Me._isImported
       End Get
       Set(value As Boolean)
           Me._isImported = value
       End Set
   End Property

   Public Property IDS As String
       Get
           Return Me._ids
       End Get
       Set(value As String)
           Me._ids = value
       End Set
   End Property

End Class
Retired
الرد }}}
#7
(10-05-18, 06:34 PM)silverlight كتب : هذا هو الكود الأكثر دقة و الذي لا تكتبه لك برامج مثل Reflector او جتي حين تستخدم برامج تترجم من #C الي الفيجوال


كود :
Public Class Form1

   Private ofd As OpenFileDialog

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Try
           If ofd.ShowDialog <> DialogResult.Cancel Then
               If IO.File.Exists(Me.ofd.FileName) Then
                   Dim fc As String = IO.File.ReadAllText(Me.ofd.FileName)
                   If fc.Contains("@") Then
                       Me.OnSourceSlected(New SourceSelectedEventArgs(True, fc))
                   End If
               Else
                   ' أظهر الرسالة
               End If
           End If
       Catch ex As Exception

       End Try
   End Sub

   Protected Overridable Sub OnSourceSlected(e As SourceSelectedEventArgs)
       Dim handler As SelectedEventHandler = CType(Me.Events("SourceSelectedEvent"), SelectedEventHandler)
       If (handler IsNot Nothing) Then
           RaiseEvent SourceSelected(Me, e)
       End If
   End Sub

   Public Custom Event SourceSelected As SelectedEventHandler
       AddHandler(value As SelectedEventHandler)
           Me.Events.AddHandler("SourceSelectedEvent", value)
       End AddHandler
       RemoveHandler(value As SelectedEventHandler)
           Me.Events.RemoveHandler("SourceSelectedEvent", value)
       End RemoveHandler
       RaiseEvent(sender As Object, e As SourceSelectedEventArgs)
           CType(Me.Events("SourceSelectedEvent"), SelectedEventHandler).Invoke(sender, e)
       End RaiseEvent
   End Event

End Class

Public Delegate Sub SelectedEventHandler(sender As Object, e As SourceSelectedEventArgs)

Public Class SourceSelectedEventArgs
   Inherits EventArgs
   Private _isImported As Boolean
   Private _ids As String

   Public Sub New(isImported As Boolean, ids As String)
       Me._isImported = isImported
       Me._ids = ids
   End Sub

   Public Property IsImported As Boolean
       Get
           Return Me._isImported
       End Get
       Set(value As Boolean)
           Me._isImported = value
       End Set
   End Property

   Public Property IDS As String
       Get
           Return Me._ids
       End Get
       Set(value As String)
           Me._ids = value
       End Set
   End Property

End Class

بارك الله فيك استاذي الفاضل
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما الحل dwidar07@gmail.com 3 420 21-02-25, 01:08 AM
آخر رد: أبو خالد الشكري
  ممكن اعرف معنى مفهومي HLD ,LLD bassant 0 309 30-01-25, 02:07 PM
آخر رد: bassant
  [سؤال] رفع صورة لاستضافة أون لاين .أغلب الأكواد لا تعمل لنفس السبب dr.programming 1 309 08-05-24, 11:50 AM
آخر رد: dr.programming
  البرنامج لدي يعمل على ويندوز 11 والان لا يعمل على ويندوز 10 ماهو الحل moh61 1 577 01-09-23, 04:38 AM
آخر رد: اسامه الهرماوي
  ممكن الحل masport tv 0 491 07-04-23, 11:36 AM
آخر رد: masport tv
  [VB.NET] بالله عليكم مساعده عايز اقفل البرنامج بخصوص عمل اذن صرف اكسس وفيجوال 2013 hanyeltnen 7 2,292 04-02-23, 10:36 AM
آخر رد: hanyeltnen
  ارجو ان لا تبخلو علينا با الحل ahmedbezia 3 702 06-12-22, 01:29 PM
آخر رد: ahmedbezia
  [سؤال] [تم الحل] انشاء المسارات وتمرير البارامترات لها وقت التشغيل سعود 7 1,697 03-09-22, 09:44 AM
آخر رد: Taha Okla
  مشكلة واجهتني كتير وزهقت منها فاللي عنده الحل ياريت يفيدني بيه ميدو الفنان 7 1,505 03-09-22, 03:33 AM
آخر رد: ميدو الفنان
  [سؤال] * تم الحل * التحكم بمخرجات السريال بورت واعادة تحويلها mohamedallams 1 696 30-08-22, 06:42 PM
آخر رد: mohamedallams

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


يقوم بقرائة الموضوع: