VB.Net Tutorial/GUI/ListBox — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:56, 26 мая 2010
Содержание
- 1 Add, remove and clear list box items
- 2 Add value to ListBox
- 3 Get mouse over index by mouse location
- 4 Get selected indices in a ListBox
- 5 Get selected item in a ListBox selection event
- 6 Get selected Items in a ListBox
- 7 ListBox double click event
- 8 ListBox selection event
- 9 MultiColumn ListBox
- 10 Multiple Selections
- 11 Owner draw ListBox
- 12 Owner draw ListBox fixed
- 13 Set selected item in a ListBox
- 14 Use popup menu to add and delete ListBox item
Add, remove and clear list box items
Imports System.Windows.Forms
public class AddClearListBoxDelete
public Shared Sub Main
Application.Run(New FrmListBox)
End Sub
End class
Public Class FrmListBox
Inherits Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
" contains user-input list of elements
Friend WithEvents lstDisplay As ListBox
" user input textbox
Friend WithEvents txtInput As TextBox
" add, remove, clear and exit command buttons
Friend WithEvents cmdAdd As Button
Friend WithEvents cmdRemove As Button
Friend WithEvents cmdClear As Button
Friend WithEvents cmdExit As Button
"Required by the Windows Form Designer
Private components As System.ruponentModel.Container
"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.cmdClear = New System.Windows.Forms.Button()
Me.cmdExit = New System.Windows.Forms.Button()
Me.cmdAdd = New System.Windows.Forms.Button()
Me.txtInput = New System.Windows.Forms.TextBox()
Me.cmdRemove = New System.Windows.Forms.Button()
Me.lstDisplay = New System.Windows.Forms.ListBox()
Me.SuspendLayout()
"
"cmdClear
"
Me.cmdClear.Location = New System.Drawing.Point(160, 144)
Me.cmdClear.Name = "cmdClear"
Me.cmdClear.Size = New System.Drawing.Size(104, 40)
Me.cmdClear.TabIndex = 4
Me.cmdClear.Text = "Clear"
"
"cmdExit
"
Me.cmdExit.Location = New System.Drawing.Point(160, 192)
Me.cmdExit.Name = "cmdExit"
Me.cmdExit.Size = New System.Drawing.Size(104, 40)
Me.cmdExit.TabIndex = 5
Me.cmdExit.Text = "Exit"
"
"cmdAdd
"
Me.cmdAdd.Location = New System.Drawing.Point(160, 48)
Me.cmdAdd.Name = "cmdAdd"
Me.cmdAdd.Size = New System.Drawing.Size(104, 40)
Me.cmdAdd.TabIndex = 2
Me.cmdAdd.Text = "Add"
"
"txtInput
"
Me.txtInput.Location = New System.Drawing.Point(160, 8)
Me.txtInput.Name = "txtInput"
Me.txtInput.Size = New System.Drawing.Size(104, 20)
Me.txtInput.TabIndex = 1
Me.txtInput.Text = ""
"
"cmdRemove
"
Me.cmdRemove.Location = New System.Drawing.Point(160, 96)
Me.cmdRemove.Name = "cmdRemove"
Me.cmdRemove.Size = New System.Drawing.Size(104, 40)
Me.cmdRemove.TabIndex = 3
Me.cmdRemove.Text = "Remove"
"
"lstDisplay
"
Me.lstDisplay.Location = New System.Drawing.Point(16, 8)
Me.lstDisplay.Name = "lstDisplay"
Me.lstDisplay.Size = New System.Drawing.Size(120, 238)
Me.lstDisplay.TabIndex = 0
"
"FrmListBox
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.cmdExit, Me.cmdClear, Me.cmdRemove, Me.cmdAdd, Me.txtInput, Me.lstDisplay})
Me.Name = "FrmListBox"
Me.Text = "ListBoxTest"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub cmdAdd_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdAdd.Click
lstDisplay.Items.Add(txtInput.Text)
txtInput.Text = ""
End Sub
Private Sub cmdRemove_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdRemove.Click
If lstDisplay.SelectedIndex <> -1 Then
lstDisplay.Items.RemoveAt(lstDisplay.SelectedIndex)
End If
End Sub
Private Sub cmdClear_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdClear.Click
lstDisplay.Items.Clear()
End Sub
Private Sub cmdExit_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdExit.Click
Application.Exit()
End Sub
End Class
Add value to ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxSelectionEventAddValue
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
Me.ListBox1.Location = New System.Drawing.Point(88, 64)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(120, 121)
Me.ListBox1.TabIndex = 0
"
Me.TextBox1.Location = New System.Drawing.Point(16, 216)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(264, 20)
Me.TextBox1.TabIndex = 1
Me.TextBox1.Text = ""
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.ListBox1)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 9
ListBox1.Items.Add("Item " & i.ToString())
Next i
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox1.Text = "You selected item " & ListBox1.SelectedIndex
End Sub
End Class
Get mouse over index by mouse location
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMouseOverLocation
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListBox1 = New System.Windows.Forms.ListBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
"
"ListBox1
"
Me.ListBox1.Items.AddRange(New Object() {"Item0", "Item1", "Item2"})
Me.ListBox1.Location = New System.Drawing.Point(8, 88)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(336, 134)
Me.ListBox1.TabIndex = 0
"
"Button1
"
Me.Button1.Location = New System.Drawing.Point(8, 232)
Me.Button1.Name = "Button1"
Me.Button1.TabIndex = 1
Me.Button1.Text = "Populate"
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(88, 232)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.ReadOnly = True
Me.TextBox1.Size = New System.Drawing.Size(256, 20)
Me.TextBox1.TabIndex = 2
Me.TextBox1.Text = ""
"
"Label1
"
Me.Label1.Location = New System.Drawing.Point(8, 264)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(336, 72)
Me.Label1.TabIndex = 3
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(352, 341)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1, Me.TextBox1, Me.Button1, Me.ListBox1})
Me.Name = "Form1"
Me.Text = "Lab 5.3 HitTest"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub ListBox1_MouseMove(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles ListBox1.MouseMove
Dim G As System.Drawing.Graphics = Graphics.FromHwnd(Me.Handle)
Dim item As String
item = ListBox1.IndexFromPoint(New Point(e.X, e.Y))
If item >= 0 Then "mouse is over an item
TextBox1.Text = "Hittest Index:" & item & " is a " & ListBox1.Items(item).GetType.ToString()
End If
End Sub
End Class
Get selected indices in a ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMultiSelectionIndex
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 184)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(272, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = ""
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 240)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(272, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = ""
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.ResumeLayout(False)
ListBox1 = New ListBox
ListBox1.Size = New Size(270, 100)
ListBox1.Location = New Point(10, 60)
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Me.Controls.Add(ListBox1)
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
For i As Integer = 0 To 19
ListBox1.Items.Add("Item " & i.ToString())
Next i
ListBox1.SetSelected(2, True)
ListBox1.SetSelected(4, True)
ListBox1.SetSelected(8, True)
ListBox1.SetSelected(10, True)
End Sub
#End Region
Dim ListBox1 As ListBox
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Item As String
Dim Index As Integer
TextBox2.Text = "Here are the selected indices: "
For Each Index In ListBox1.SelectedIndices
TextBox2.Text &= Index.ToString() & " "
Next
End Sub
End Class
Get selected item in a ListBox selection event
Imports System.Windows.Forms
public class GetSelectedItemListBox
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ruponentModel.IContainer
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
"
"ListBox1
"
Me.ListBox1.Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G"})
Me.ListBox1.Location = New System.Drawing.Point(72, 48)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(88, 108)
Me.ListBox1.TabIndex = 0
"
"Label1
"
Me.Label1.Location = New System.Drawing.Point(8, 16)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(136, 24)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Translate:"
"
"Label2
"
Me.Label2.Location = New System.Drawing.Point(56, 176)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(128, 40)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Chn:"
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(224, 246)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.ListBox1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
Select Case ListBox1.SelectedIndex
Case 0
Label2.Text = "AA"
Case 1
Label2.Text = "BB"
Case 2
Label2.Text = "CC"
Case 3
Label2.Text = "DD"
Case 4
Label2.Text = "EE"
Case 5
Label2.Text = "FF"
Case 6
Label2.Text = "GG"
End Select
End Sub
End Class
Get selected Items in a ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMultiSelection
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 184)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(272, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = ""
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 240)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(272, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = ""
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.ResumeLayout(False)
ListBox1 = New ListBox
ListBox1.Size = New Size(270, 100)
ListBox1.Location = New Point(10, 60)
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Me.Controls.Add(ListBox1)
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
For i As Integer = 0 To 19
ListBox1.Items.Add("Item " & i.ToString())
Next i
ListBox1.SetSelected(2, True)
ListBox1.SetSelected(4, True)
ListBox1.SetSelected(8, True)
ListBox1.SetSelected(10, True)
End Sub
#End Region
Dim ListBox1 As ListBox
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Item As String
Dim Index As Integer
TextBox1.Text = "Here are the selected items: "
For Each Item In ListBox1.SelectedItems
TextBox1.Text &= Item.ToString() & " "
Next
End Sub
End Class
ListBox double click event
Imports System.Windows.Forms
public class ListBoxDoubleClick
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
Select Case ListBox1.SelectedIndex
Case 0
TextBox1.Text = "index 0"
Case 1
TextBox1.Text = "index 1"
Case 2
TextBox1.Text = "index 2"
End Select
End Sub
End Class
<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _
Partial 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.ruponentModel.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.ListBox1 = New System.Windows.Forms.ListBox
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"ListBox1
"
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.ItemHeight = 12
Me.ListBox1.Items.AddRange(New Object() {"Document1", "Document2", "Document3"})
Me.ListBox1.Location = New System.Drawing.Point(277, 12)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(112, 184)
Me.ListBox1.TabIndex = 0
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(12, 12)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(248, 178)
Me.TextBox1.TabIndex = 1
"
"Form1
"
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(401, 202)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.ListBox1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
End Class
ListBox selection event
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxSelectionEventAddValue
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
Me.ListBox1.Location = New System.Drawing.Point(88, 64)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(120, 121)
Me.ListBox1.TabIndex = 0
"
Me.TextBox1.Location = New System.Drawing.Point(16, 216)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(264, 20)
Me.TextBox1.TabIndex = 1
Me.TextBox1.Text = ""
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox1)
Me.Controls.Add(Me.ListBox1)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 9
ListBox1.Items.Add("Item " & i.ToString())
Next i
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox1.Text = "You selected item " & ListBox1.SelectedIndex
End Sub
End Class
MultiColumn ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMultiSelection
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 184)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(272, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = ""
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 240)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(272, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = ""
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.ResumeLayout(False)
ListBox1 = New ListBox
ListBox1.Size = New Size(270, 100)
ListBox1.Location = New Point(10, 60)
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Me.Controls.Add(ListBox1)
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
For i As Integer = 0 To 19
ListBox1.Items.Add("Item " & i.ToString())
Next i
ListBox1.SetSelected(2, True)
ListBox1.SetSelected(4, True)
ListBox1.SetSelected(8, True)
ListBox1.SetSelected(10, True)
End Sub
#End Region
Dim ListBox1 As ListBox
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Item As String
Dim Index As Integer
TextBox1.Text = "Here are the selected items: "
For Each Item In ListBox1.SelectedItems
TextBox1.Text &= Item.ToString() & " "
Next
End Sub
End Class
Multiple Selections
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMultiSelection
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 184)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(272, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = ""
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 240)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(272, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = ""
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.ResumeLayout(False)
ListBox1 = New ListBox
ListBox1.Size = New Size(270, 100)
ListBox1.Location = New Point(10, 60)
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Me.Controls.Add(ListBox1)
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
For i As Integer = 0 To 19
ListBox1.Items.Add("Item " & i.ToString())
Next i
ListBox1.SetSelected(2, True)
ListBox1.SetSelected(4, True)
ListBox1.SetSelected(8, True)
ListBox1.SetSelected(10, True)
End Sub
#End Region
Dim ListBox1 As ListBox
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Item As String
Dim Index As Integer
TextBox1.Text = "Here are the selected items: "
For Each Item In ListBox1.SelectedItems
TextBox1.Text &= Item.ToString() & " "
Next
End Sub
End Class
Owner draw ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class OwnerDrawnVariableListBoxDemo
public Shared Sub Main
Application.Run(New OwnerDrawnVariableListBox)
End Sub
End class
Public Class OwnerDrawnVariableListBox
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents listBox2 As System.Windows.Forms.ListBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.listBox2 = New System.Windows.Forms.ListBox()
Me.SuspendLayout()
"
"listBox2
"
Me.listBox2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable
Me.listBox2.Items.AddRange(New Object() {"AAAAAAAAAAAAAAA", "BBBBBBBBBBBBBBBB", "CCCCCC"})
Me.listBox2.Location = New System.Drawing.Point(6, 37)
Me.listBox2.Name = "listBox2"
Me.listBox2.Size = New System.Drawing.Size(280, 192)
Me.listBox2.TabIndex = 5
"
"OwnerDrawnVariableListBox
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.listBox2})
Me.Name = "OwnerDrawnVariableListBox"
Me.Text = "OwnerDrawnVariableListBox"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub listBox2_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles listBox2.DrawItem
e.DrawBackground()
Dim textFont As Font
If e.Index Mod 2 = 0 Then
textFont = New Font(e.Font.FontFamily, e.Font.Size * 2)
Else
textFont = e.Font
End If
e.Graphics.DrawString(listBox2.Items(e.Index).ToString(), textFont, New SolidBrush(e.ForeColor), RectangleF.op_Implicit(e.Bounds))
e.DrawFocusRectangle()
End Sub
Private Sub listBox2_MeasureItem(ByVal sender As Object, ByVal e As System.Windows.Forms.MeasureItemEventArgs) Handles listBox2.MeasureItem
If e.Index Mod 2 = 0 Then
e.ItemHeight = e.ItemHeight * 2
End If
End Sub
End Class
Owner draw ListBox fixed
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class OwnerDrawnVariableListBoxDemo
public Shared Sub Main
Application.Run(New OwnerDrawnFixedListBox)
End Sub
End class
Public Class OwnerDrawnFixedListBox
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents listBox1 As System.Windows.Forms.ListBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.listBox1 = New System.Windows.Forms.ListBox()
Me.SuspendLayout()
"
"listBox1
"
Me.listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
Me.listBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.listBox1.ItemHeight = 18
Me.listBox1.Items.AddRange(New Object() {"Foo", "Bar", "Quux"})
Me.listBox1.Location = New System.Drawing.Point(22, 50)
Me.listBox1.Name = "listBox1"
Me.listBox1.Size = New System.Drawing.Size(248, 166)
Me.listBox1.TabIndex = 3
"
"OwnerDrawnFixedListBox
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.listBox1})
Me.Name = "OwnerDrawnFixedListBox"
Me.Text = "OwnerDrawnFixedListBox"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub listBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles listBox1.DrawItem
e.DrawBackground()
Dim drawFont As Font = Nothing
If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
drawFont = New Font("Times New Roman", 14, FontStyle.Bold Or FontStyle.Italic)
Else
drawFont = e.Font
End If
e.Graphics.DrawString(listBox1.Items(e.Index).ToString(), drawFont, New SolidBrush(e.ForeColor), RectangleF.op_Implicit(e.Bounds))
e.DrawFocusRectangle()
End Sub
End Class
Set selected item in a ListBox
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class ListBoxMultiSelection
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
"Add any initialization after the InitializeComponent() call
End Sub
"Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.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.
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(8, 184)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(272, 20)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = ""
"
"TextBox2
"
Me.TextBox2.Location = New System.Drawing.Point(8, 240)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(272, 20)
Me.TextBox2.TabIndex = 1
Me.TextBox2.Text = ""
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.TextBox2)
Me.Controls.Add(Me.TextBox1)
Me.ResumeLayout(False)
ListBox1 = New ListBox
ListBox1.Size = New Size(270, 100)
ListBox1.Location = New Point(10, 60)
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Me.Controls.Add(ListBox1)
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
For i As Integer = 0 To 19
ListBox1.Items.Add("Item " & i.ToString())
Next i
ListBox1.SetSelected(2, True)
ListBox1.SetSelected(4, True)
ListBox1.SetSelected(8, True)
ListBox1.SetSelected(10, True)
End Sub
#End Region
Dim ListBox1 As ListBox
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Item As String
Dim Index As Integer
TextBox1.Text = "Here are the selected items: "
For Each Item In ListBox1.SelectedItems
TextBox1.Text &= Item.ToString() & " "
Next
End Sub
End Class
Imports System.Windows.Forms
public class MenuItemAddRemoveItemListBox
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Inherits System.Windows.Forms.Form
Public Sub New()
MyBase.New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
Private components As System.ruponentModel.IContainer
Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu
Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ContextMenu1 = New System.Windows.Forms.ContextMenu
Me.MenuItem1 = New System.Windows.Forms.MenuItem
Me.MenuItem2 = New System.Windows.Forms.MenuItem
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.SuspendLayout()
"
"ContextMenu1
"
Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem2})
"
"MenuItem1
"
Me.MenuItem1.Index = 0
Me.MenuItem1.Text = "Add"
"
"MenuItem2
"
Me.MenuItem2.Index = 1
Me.MenuItem2.Text = "Delete"
"
"ListBox1
"
Me.ListBox1.Items.AddRange(New Object() {"A", "B", "C", "D", "E"})
Me.ListBox1.Location = New System.Drawing.Point(80, 64)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(104, 121)
Me.ListBox1.TabIndex = 0
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.ContextMenu = Me.ContextMenu1
Me.Controls.Add(Me.ListBox1)
Me.ResumeLayout(False)
End Sub
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
ListBox1.Items.Add("www.vbex.ru")
End Sub
Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
ListBox1.Items.Remove(ListBox1.SelectedItem)
End Sub
End Class