PDA

View Full Version : سوال در مورد sender ,e



iman zadehnoori
یک شنبه 12 دی 1389, 16:34 عصر
با سلام
میشه یکی از دوستان یه توضیح راجعه به آرگومان (sender as system.object) و (e as eventargs) بده؟

ممنون:قلب:

ali_najari
یک شنبه 12 دی 1389, 16:55 عصر
sender مربوط ميشه به اون كنترلي كه داره الان از اون تابع استفاده ميكنه
e مربوط ميشه به عملياتي كه قراره انجام بده! و ساير مشخصاتي كه داره!


البته اين چيزي هست كه من اطلاع دارم ازش

mansourii
یک شنبه 12 دی 1389, 18:40 عصر
این مسئله کاربردیه بهتر بود بیشتر راهنمایی میکردید و مثال میزدید!


If Valid() = 1 Then
Sql_cnn.Open()
Sql_Cmd = New SqlCommand("Update Books Set BookName = @BookName , BookGroup = @BookGroup , BookAuthor = @BookAuthor , BookPublisher = @BookPublisher , BookLanguage = @BookLanguage Where BookID = @BookID", Sql_cnn)
Sql_Cmd.Parameters.AddWithValue("@BookID", ID)
Sql_Cmd.Parameters.AddWithValue("@BookName", TextBox1.Text)
Sql_Cmd.Parameters.AddWithValue("@BookGroup", TextBox2.Text)
Sql_Cmd.Parameters.AddWithValue("@BookAuthor", TextBox3.Text)
Sql_Cmd.Parameters.AddWithValue("@BookPublisher", TextBox4.Text)
Sql_Cmd.Parameters.AddWithValue("@BookLanguage", TextBox6.Text)
Sql_Cmd.ExecuteNonQuery()
Sql_cnn.Close()
MemAdd_Load(sender, e)
MessageBox.Show(MemID() + " = با موفقیت ویرایش گردید شماره کتاب ")
End If
End Sub
Public Function MemID() As String
Sql_cnn.Open()
Sql_Cmd = New SqlCommand("Select max(BookID) From Books", Sql_cnn)
Dim Num As String = Sql_Cmd.ExecuteScalar().ToString()
Sql_cnn.Close()
Return Num
End Function

Navid Asadi
یک شنبه 12 دی 1389, 22:17 عصر
یه مثال هم من میزنم :
فرض کن بخوای از رویداد mouseClick استفاده کنی، از کجا میفهمی که کدوم کلید موس کلیک کرده؟
e کارش همین جور چیز هاست و خواص رویداد رو ارائه میکنه تو مثال بالا میشه از دستوری مثل دستور زیر فهمید :
if e.rightclick=true then

end if
البته دستور فوق ممکنه تو نام دقیق rightclick اشتباه باشه ولی صورت کلیش همینه.

Navid Asadi
یک شنبه 12 دی 1389, 22:21 عصر
اما در مورد Sender
اگه شما به صورت غیر مستقیم روال کلیک یک باتون رو فرابخوانید (مثلا) باید یک چنین دستوری بنویسید :

button1_Click(Textbox1,new event.arg)

البته تو املای کلمات شک دارم!
اون تکست باکسی که اون تونوشتم برای اینه که میخوام به روال کیلیک بفهمونم که این دستور به طور غیر مستقیم و از طریق textbox1 فراخوانده شده!