你需要的應(yīng)該是反射,類似如下,我測試通過的:
白水網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Imports?System.Reflection
Public?Class?Form1
Public?Sub?MMMToolStripMenuItem_Click(sender?As?Object,?e?As?EventArgs)?Handles?MMMToolStripMenuItem.Click
MsgBox("menu?click")
End?Sub
'在按鈕事件處理里面通過反射名稱調(diào)用相應(yīng)菜單事件
Public?Sub?CallEventMethod(sender?As?Object,?e?As?EventArgs)
Dim?b?As?Button?=?sender?'獲取點(diǎn)擊的按鈕
'拼接菜單事件名稱
Dim?MethodName?As?String?=?b.Name??"ToolStripMenuItem_Click"
Dim?t?As?Type?=?Me.GetType
Dim?m?As?MethodInfo?=?t.GetMethod(MethodName)
'反射方法
m.Invoke(Me,?New?Object()?{Nothing,?Nothing})
End?Sub
'動態(tài)生成了按鈕
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
Dim?btn?As?New?Button
btn.Location?=?New?Point(100,?100)
btn.Name?=?"MMM"?'關(guān)鍵
btn.Text?=?"MMM"
'注冊事件
AddHandler?btn.Click,?AddressOf?Me.CallEventMethod
Me.Controls.Add(btn)?
End?Sub
End?Class
比如說這樣添加的計時器:
Dim Timer1 As New Timer
你要在合適的地方開始,比如窗體Load事件中,這樣:
Timer1.Interval = 1000 '單位毫秒,1000毫秒=1秒
Timer1.Enabled = True '啟用計時器
然后在代碼窗口上方下拉列表里選擇Timer1的Tick事件,自動添加代碼:
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
這是計時器觸發(fā)的事件,每秒觸發(fā)一次,在這里面輸入循環(huán)判斷是否有日程即可。提示:你可以用Now對象獲取當(dāng)前的日期和時間。
'把圖片的聲明放在外面,類里面過程外面,而且要用As,不然等會兒沒法用
Dim myPicture As New System.Windows.Forms.PictureBox()
'動態(tài)生成的控件,加一行
Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.Panel3.Controls.Add(myPicture)
myPicture.Size =New System.Drawing.Size(115, 160)
myPicture.TabStop =False
myPicture.Name ="p"
myPicture.Cursor = Cursors.Hand
AddHandler myPicture.Click, AddressOf mypic_Click '添加事件
AddHandler returnid, AddressOf idReturned '綁定事件和過程
End Sub
'再來個事件,放在聲明的地方,就是類里面、過程外面
Private Event returnid(ByVal id As String) '這個事件可以傳遞值哦~
'普通的單擊事件
Private Sub mypic_Click()
RaiseEvent returnid(myPicture.Name)
End Sub
'會傳值的事件過程
Private Sub idReturned(ByVal id As String)
Dim bookInfo As New BookInfo
bookInfo.Show()
Me.Parent.Enabled = False
'用id變量做點(diǎn)什么吧
End Sub
如果要改事件的簽名(參數(shù)一類的)的話,得重寫控件。你可以這樣自己弄一個事件。
應(yīng)為網(wǎng)頁的問題,Datatable的數(shù)據(jù)不會被存儲下來,所以需要在排序和分頁后重新綁定數(shù)據(jù)源。
分頁事件
GridViewBrowser.PageIndexChanging
設(shè)定新頁碼PageIndex
GridViewBrowser.PageIndex = e.NewPageIndex
添加數(shù)據(jù)源綁定代碼
Dim mydap As New SqlDataAdapter(sql, conn)
Dim ds As New DataSet()
mydap.Fill(ds)
GridView1.DataSource = ds
GridView1.DataBind()
排序邏輯等同....