آژانس هواپیماییexchanging

نحوه فراخواني رويداد هاي يك كنترل جديد بعد از اضافه كردن به يك كنترل ديگر

شروع موضوع توسط ehsanraf ‏10 دسامبر 2005 در انجمن asp , ASP.NET

  1. ehsanraf

    ehsanraf کاربر تازه وارد

    تاریخ عضویت:
    ‏12 نوامبر 2005
    نوشته ها:
    14
    تشکر شده:
    0
    من به يك كنترل تيبل يك كنترل باتون اضافه كردم با استفاده از متد controls.add حالا براي فراخواني رويداد هاي اين كنترل چه جوري بايد عمل كنم يعني وقتي button كليك ميشه چه تابعي بايد فراخواني بشه?

    يعني مشكل اينجاست كه نميدونم چه جوري رويداد هاي كنترلي كه بوجود اومده رو فراوخواني كنم

    اگر تعداد button ها n تا بود بايد چه جوري بايد عمل كرد؟

    ===================

    dim bt AS NEW button
    bt.text =test1
    table1.controls.add(bt
    __________________
     
  2. Parham

    Parham Registered User

    تاریخ عضویت:
    ‏24 سپتامبر 2003
    نوشته ها:
    1,039
    تشکر شده:
    1
    تو VB.net اینجوریه:
    کد:
    AddHandler btn.Click, AddressOf bt_Click
    که اینجا bt_Click روالی است که شما باید اون رو از قبل بنویسید و تو کد داشته باشید:
    کد:
        Private Sub btn_Click(ByVal sender As Object, ByVal e As EventArgs)
    	
    	'Your code for btn Click event
    
        End Sub
    اگر که تعداد Button ها زیاد باشه هم هیچ فرقی نمیکنه و میشه برای همه اونها از یک روال استفاده کنید. ولی برای تشخیص اینکه کدوم دکمه کلیک شده باید از یک خصوصیت اون مثلا Name یا Tag استفاده کنید.
    مثلا با این کد دکمه ها رو اضافه میکنیم از ۱ تا n که اینجا ۱۰ هست و برای هر دکمه یک نام و خصوصیت Tag رو مشخص میکنیم:
    کد:
            Dim i As Integer = 1
            Dim n As Integer = 10
            For i = 1 To n
                Dim bt As New Button
                bt.Text = "Button " & i.ToString
                bt.Tag = i
                Me.Controls.Add(bt)
                AddHandler bt.Click, AddressOf bt_Click
    
            Next
    
    حالا تو روال کلیکی که تعریف کردیم به این شکل دکمه ها رو تشخیص میدیم:
    کد:
        Sub bt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Select Case CType(sender, Button).Tag.ToString
                Case "1"
                    'Code for bt1 Click event
                Case "2"
                    'Code for bt2 Click event
                Case "n"
                    'Code for btn Click event
            End Select
        End Sub
    
    موفق باشید.:happy:
     
  3. ehsanraf

    ehsanraf کاربر تازه وارد

    تاریخ عضویت:
    ‏12 نوامبر 2005
    نوشته ها:
    14
    تشکر شده:
    0
    خيلي ممنون ، همين روش جواب داد