10-05-18, 03:24 PM
10-05-18, 03:53 PM
الـ Delegate لا ينادى بالـ RaiseEvent
ولا يمكن إستخدامها مباشرتاً كـ Expressions
المفروض تستخدم Invoke من متغير نفس نوع الـ Delegate
ولا يمكن إستخدامها مباشرتاً كـ Expressions
المفروض تستخدم Invoke من متغير نفس نوع الـ Delegate
10-05-18, 05:25 PM
(10-05-18, 03:53 PM)عبدالله الدوسري كتب : [ -> ]الـ Delegate لا ينادى بالـ RaiseEvent
ولا يمكن إستخدامها مباشرتاً كـ Expressions
المفروض تستخدم Invoke من متغير نفس نوع الـ Delegate
طيب ممكن تقلي تعديل الكود هيكون ايه؟
10-05-18, 05:40 PM
الواضح انك مترجم الكود من #C ولكن بشكل خاطئ فقط لا غير
عموما الكود أسهل مما تتخيل بسرط يكون عندك Event , EventArgs المناسبة لكي تطلق الحدث
الكود الخاص بك يجب ان يكون كالتالي ......
عموما الكود أسهل مما تتخيل بسرط يكون عندك 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 Try10-05-18, 06:10 PM
بالفعل انا محول الكود من سي شارب ببرنامج instant vb
لو تعرف برنامج افضل منه يريت تقول اسمه
واشكرك جزيلا
لو تعرف برنامج افضل منه يريت تقول اسمه
واشكرك جزيلا
10-05-18, 06:34 PM
هذا هو الكود الأكثر دقة و الذي لا تكتبه لك برامج مثل 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 Class11-05-18, 09:16 PM
(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
بارك الله فيك استاذي الفاضل