Mega Code Archive

 
Categories / VB.Net / GUI
 

Add and Remove Action Handler Dynamically

Imports System Imports System.ComponentModel Imports System.Windows.Forms Imports System.Data Imports System.Configuration Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Globalization Imports System.Text Imports System.Collections Public Class MainClass     Shared Sub Main()         Dim myform As Form = New Form1()         Application.Run(myform)     End Sub End Class Public Class Form1     Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged         If RadioButton1.Checked Then             AddHandler Button1.Click, AddressOf ButtonHandler1         Else             RemoveHandler Button1.Click, AddressOf ButtonHandler1         End If     End Sub     Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged         If RadioButton2.Checked Then             AddHandler Button1.Click, AddressOf ButtonHandler2         Else             RemoveHandler Button1.Click, AddressOf ButtonHandler2         End If     End Sub     Private Sub ButtonHandler1(ByVal sender As System.Object, ByVal e As System.EventArgs)         MessageBox.Show("Button Handler1")     End Sub     Private Sub ButtonHandler2(ByVal sender As System.Object, ByVal e As System.EventArgs)         MessageBox.Show("Button Handler2")     End Sub     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load         RadioButton1.Checked = True     End Sub End Class <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Public Class Form1     Inherits System.Windows.Forms.Form     'Form overrides dispose to clean up the component list.     <System.Diagnostics.DebuggerNonUserCode()> _     Protected Overrides Sub Dispose(ByVal disposing As Boolean)         If disposing AndAlso components IsNot Nothing Then             components.Dispose()         End If         MyBase.Dispose(disposing)     End Sub     'Required by the Windows Form Designer     Private components As System.ComponentModel.IContainer     'NOTE: The following procedure is required by the Windows Form Designer     'It can be modified using the Windows Form Designer.       'Do not modify it using the code editor.     <System.Diagnostics.DebuggerStepThrough()> _     Private Sub InitializeComponent()         Me.RadioButton1 = New System.Windows.Forms.RadioButton         Me.RadioButton2 = New System.Windows.Forms.RadioButton         Me.Button1 = New System.Windows.Forms.Button         Me.SuspendLayout()         '         'RadioButton1         '         Me.RadioButton1.AutoSize = True         Me.RadioButton1.Location = New System.Drawing.Point(8, 8)         Me.RadioButton1.Name = "RadioButton1"         Me.RadioButton1.Size = New System.Drawing.Size(99, 17)         Me.RadioButton1.TabIndex = 0         Me.RadioButton1.Text = "ButtonHandler1"         Me.RadioButton1.UseVisualStyleBackColor = True         '         'RadioButton2         '         Me.RadioButton2.AutoSize = True         Me.RadioButton2.Location = New System.Drawing.Point(8, 40)         Me.RadioButton2.Name = "RadioButton2"         Me.RadioButton2.Size = New System.Drawing.Size(99, 17)         Me.RadioButton2.TabIndex = 1         Me.RadioButton2.Text = "ButtonHandler2"         Me.RadioButton2.UseVisualStyleBackColor = True         '         'Button1         '         Me.Button1.Location = New System.Drawing.Point(152, 16)         Me.Button1.Name = "Button1"         Me.Button1.Size = New System.Drawing.Size(75, 23)         Me.Button1.TabIndex = 2         Me.Button1.Text = "Button1"         Me.Button1.UseVisualStyleBackColor = True         '         'Form1         '         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font         Me.ClientSize = New System.Drawing.Size(292, 273)         Me.Controls.Add(Me.Button1)         Me.Controls.Add(Me.RadioButton2)         Me.Controls.Add(Me.RadioButton1)         Me.Name = "Form1"         Me.Text = "AddRemoveHandler"         Me.ResumeLayout(False)         Me.PerformLayout()     End Sub     Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton     Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton     Friend WithEvents Button1 As System.Windows.Forms.Button End Class