下面的示例阐释如何使用 CheckedListBox 的方法、属性和集合。这是个完整示例,将它复制到项目后即可运行。您可以选中或取消选中项,使用文本框添加项,以及在单击保存按钮后清除选中项。[Visual Basic]
Option Explicit
Option StrictImports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Imports System.IONamespace WindowsApplication1
Public Class Form1
Inherits System.Windows.Forms.Form
Private WithEvents checkedListBox1 As System.Windows.Forms.CheckedListBox
Private WithEvents textBox1 As System.Windows.Forms.TextBox
Private WithEvents button1 As System.Windows.Forms.Button
Private WithEvents button2 As System.Windows.Forms.Button
Private WithEvents listBox1 As System.Windows.Forms.ListBox
Private WithEvents button3 As System.Windows.Forms.Button
Private components As System.ComponentModel.Container
Public Sub New()
InitializeComponent()
' Sets up the initial objects in the CheckedListBox.
Dim myFruit As String() = {"Apples", "Oranges", "Tomato"}
checkedListBox1.Items.AddRange(myFruit)
' Changes the selection mode from double-click to single click.
checkedListBox1.CheckOnClick = True
End Sub 'New
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 Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.textBox1 = New System.Windows.Forms.TextBox()
Me.checkedListBox1 = New System.Windows.Forms.CheckedListBox()
Me.listBox1 = New System.Windows.Forms.ListBox()
Me.button1 = New System.Windows.Forms.Button()
Me.button2 = New System.Windows.Forms.Button()
Me.button3 = New System.Windows.Forms.Button()
Me.textBox1.Location = New System.Drawing.Point(144, 64)
Me.textBox1.Size = New System.Drawing.Size(128, 20)
Me.textBox1.TabIndex = 1
Me.checkedListBox1.Location = New System.Drawing.Point(16, 64)
Me.checkedListBox1.Size = New System.Drawing.Size(120, 184)
Me.checkedListBox1.TabIndex = 0
Me.listBox1.Location = New System.Drawing.Point(408, 64)
Me.listBox1.Size = New System.Drawing.Size(128, 186)
Me.listBox1.TabIndex = 3
Me.button1.Enabled = False
Me.button1.Location = New System.Drawing.Point(144, 104)
Me.button1.Size = New System.Drawing.Size(104, 32)
Me.button1.TabIndex = 2
Me.button1.Text = "Add Fruit"
Me.button2.Enabled = False
Me.button2.Location = New System.Drawing.Point(288, 64)
Me.button2.Size = New System.Drawing.Size(104, 32)
Me.button2.TabIndex = 2
Me.button2.Text = "Show Order"
Me.button3.Enabled = False
Me.button3.Location = New System.Drawing.Point(288, 104)
Me.button3.Size = New System.Drawing.Size(104, 32)
Me.button3.TabIndex = 2
Me.button3.Text = "Save Order"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(563, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.listBox1, Me.button3, Me.button2, Me.button1, Me.textBox1, Me.checkedListBox1})
Me.Text = "Fruit Order"
End Sub 'InitializeComponent
<STAThread()> _
Public Shared Sub Main()
Application.Run(New Form1())
End Sub 'Main
' Adds the string if the text box has data in it.
Private Sub button1_Click(sender As Object, _
e As System.EventArgs) Handles button1.Click
If textBox1.Text <> "" Then
If checkedListBox1.CheckedItems.Contains(textBox1.Text) = False Then
checkedListBox1.Items.Add(textBox1.Text, CheckState.Checked)
End If
textBox1.Text = ""
End If
End Sub 'button1_Click
' Activates or deactivates the Add button.
Private Sub textBox1_TextChanged(sender As Object, _
e As System.EventArgs) Handles textBox1.TextChanged
If textBox1.Text = "" Then
button1.Enabled = False
Else
button1.Enabled = True
End If
End Sub 'textBox1_TextChanged
' Moves the checked items from the CheckedListBox to the listBox.
Private Sub button2_Click(sender As Object, _
e As System.EventArgs) Handles button2.Click
listBox1.Items.Clear()
button3.Enabled = False
Dim i As Integer
For i = 0 To checkedListBox1.CheckedItems.Count - 1
listBox1.Items.Add(checkedListBox1.CheckedItems(i))
Next i
If listBox1.Items.Count > 0 Then
button3.Enabled = True
End If
End Sub 'button2_Click
' Activates the move button if there are checked items.
Private Sub checkedListBox1_ItemCheck(sender As Object, _
e As ItemCheckEventArgs) Handles checkedListBox1.ItemCheck
If e.NewValue = CheckState.Unchecked Then
If checkedListBox1.CheckedItems.Count = 1 Then
button2.Enabled = False
End If
Else
button2.Enabled = True
End If
End Sub 'checkedListBox1_ItemCheck
Option Explicit
Option StrictImports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Imports System.IONamespace WindowsApplication1
Public Class Form1
Inherits System.Windows.Forms.Form
Private WithEvents checkedListBox1 As System.Windows.Forms.CheckedListBox
Private WithEvents textBox1 As System.Windows.Forms.TextBox
Private WithEvents button1 As System.Windows.Forms.Button
Private WithEvents button2 As System.Windows.Forms.Button
Private WithEvents listBox1 As System.Windows.Forms.ListBox
Private WithEvents button3 As System.Windows.Forms.Button
Private components As System.ComponentModel.Container
Public Sub New()
InitializeComponent()
' Sets up the initial objects in the CheckedListBox.
Dim myFruit As String() = {"Apples", "Oranges", "Tomato"}
checkedListBox1.Items.AddRange(myFruit)
' Changes the selection mode from double-click to single click.
checkedListBox1.CheckOnClick = True
End Sub 'New
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 Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.textBox1 = New System.Windows.Forms.TextBox()
Me.checkedListBox1 = New System.Windows.Forms.CheckedListBox()
Me.listBox1 = New System.Windows.Forms.ListBox()
Me.button1 = New System.Windows.Forms.Button()
Me.button2 = New System.Windows.Forms.Button()
Me.button3 = New System.Windows.Forms.Button()
Me.textBox1.Location = New System.Drawing.Point(144, 64)
Me.textBox1.Size = New System.Drawing.Size(128, 20)
Me.textBox1.TabIndex = 1
Me.checkedListBox1.Location = New System.Drawing.Point(16, 64)
Me.checkedListBox1.Size = New System.Drawing.Size(120, 184)
Me.checkedListBox1.TabIndex = 0
Me.listBox1.Location = New System.Drawing.Point(408, 64)
Me.listBox1.Size = New System.Drawing.Size(128, 186)
Me.listBox1.TabIndex = 3
Me.button1.Enabled = False
Me.button1.Location = New System.Drawing.Point(144, 104)
Me.button1.Size = New System.Drawing.Size(104, 32)
Me.button1.TabIndex = 2
Me.button1.Text = "Add Fruit"
Me.button2.Enabled = False
Me.button2.Location = New System.Drawing.Point(288, 64)
Me.button2.Size = New System.Drawing.Size(104, 32)
Me.button2.TabIndex = 2
Me.button2.Text = "Show Order"
Me.button3.Enabled = False
Me.button3.Location = New System.Drawing.Point(288, 104)
Me.button3.Size = New System.Drawing.Size(104, 32)
Me.button3.TabIndex = 2
Me.button3.Text = "Save Order"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(563, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.listBox1, Me.button3, Me.button2, Me.button1, Me.textBox1, Me.checkedListBox1})
Me.Text = "Fruit Order"
End Sub 'InitializeComponent
<STAThread()> _
Public Shared Sub Main()
Application.Run(New Form1())
End Sub 'Main
' Adds the string if the text box has data in it.
Private Sub button1_Click(sender As Object, _
e As System.EventArgs) Handles button1.Click
If textBox1.Text <> "" Then
If checkedListBox1.CheckedItems.Contains(textBox1.Text) = False Then
checkedListBox1.Items.Add(textBox1.Text, CheckState.Checked)
End If
textBox1.Text = ""
End If
End Sub 'button1_Click
' Activates or deactivates the Add button.
Private Sub textBox1_TextChanged(sender As Object, _
e As System.EventArgs) Handles textBox1.TextChanged
If textBox1.Text = "" Then
button1.Enabled = False
Else
button1.Enabled = True
End If
End Sub 'textBox1_TextChanged
' Moves the checked items from the CheckedListBox to the listBox.
Private Sub button2_Click(sender As Object, _
e As System.EventArgs) Handles button2.Click
listBox1.Items.Clear()
button3.Enabled = False
Dim i As Integer
For i = 0 To checkedListBox1.CheckedItems.Count - 1
listBox1.Items.Add(checkedListBox1.CheckedItems(i))
Next i
If listBox1.Items.Count > 0 Then
button3.Enabled = True
End If
End Sub 'button2_Click
' Activates the move button if there are checked items.
Private Sub checkedListBox1_ItemCheck(sender As Object, _
e As ItemCheckEventArgs) Handles checkedListBox1.ItemCheck
If e.NewValue = CheckState.Unchecked Then
If checkedListBox1.CheckedItems.Count = 1 Then
button2.Enabled = False
End If
Else
button2.Enabled = True
End If
End Sub 'checkedListBox1_ItemCheck
解决方案 »
- C#如何实现鼠标移动到图像某一点时同时获得坐标和灰度值
- 制作计算器
- C#中如何重绘DadaGrid指定行的行头,如何重写单击行头事件
- TabStrip和MultiPage怎么使用?(在c#web里)
- 怎样查看本机的端口信息(c#)
- ◆◆散分:复杂的字符串重组:高手请进!◆◆
- 我在程序里创建了fileupload控件,想设置它的postedfile,但它是私有的。
- 救命阿!控件AxWebBrowser中DocumentComplete为什么触发不了??
- 水晶報表的問題,初級
- Process.Start在窗体应用程序中好使,但在服务中就无效果。
- 如何在C#将string转化为CHAR[](COM TYPE 转化的问题)
- 高分盼求asp.net(C#)编码规范!
Private Sub button3_Click(sender As Object, _
e As System.EventArgs) Handles button3.Click
' Insert code to save a file.
listBox1.Items.Clear()
Dim myEnumerator As IEnumerator
myEnumerator = checkedListBox1.CheckedIndices.GetEnumerator()
Dim y As Integer
While myEnumerator.MoveNext() <> False
y = CInt(myEnumerator.Current)
checkedListBox1.SetItemChecked(y, False)
End While
button3.Enabled = False
End Sub 'button3_Click
End Class 'Form1
End Namespace 'WindowsApplication1
[C#]
namespace WindowsApplication1
{
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO ; public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.CheckedListBox checkedListBox1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button3;
private System.ComponentModel.Container components;
public Form1()
{
InitializeComponent(); // Sets up the initial objects in the CheckedListBox.
string[] myFruit = {"Apples", "Oranges","Tomato"};
checkedListBox1.Items.AddRange(myFruit); // Changes the selection mode from double-click to single click.
checkedListBox1.CheckOnClick = true;
} protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.textBox1 = new System.Windows.Forms.TextBox();
this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();
this.listBox1 = new System.Windows.Forms.ListBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.textBox1.Location = new System.Drawing.Point(144, 64);
this.textBox1.Size = new System.Drawing.Size(128, 20);
this.textBox1.TabIndex = 1;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
this.checkedListBox1.Location = new System.Drawing.Point(16, 64);
this.checkedListBox1.Size = new System.Drawing.Size(120, 184);
this.checkedListBox1.TabIndex = 0;
this.checkedListBox1.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBox1_ItemCheck);
this.listBox1.Location = new System.Drawing.Point(408, 64);
this.listBox1.Size = new System.Drawing.Size(128, 186);
this.listBox1.TabIndex = 3;
this.button1.Enabled = false;
this.button1.Location = new System.Drawing.Point(144, 104);
this.button1.Size = new System.Drawing.Size(104, 32);
this.button1.TabIndex = 2;
this.button1.Text = "Add Fruit";
this.button1.Click += new System.EventHandler(this.button1_Click);
this.button2.Enabled = false;
this.button2.Location = new System.Drawing.Point(288, 64);
this.button2.Size = new System.Drawing.Size(104, 32);
this.button2.TabIndex = 2;
this.button2.Text = "Show Order";
this.button2.Click += new System.EventHandler(this.button2_Click);
this.button3.Enabled = false;
this.button3.Location = new System.Drawing.Point(288, 104);
this.button3.Size = new System.Drawing.Size(104, 32);
this.button3.TabIndex = 2;
this.button3.Text = "Save Order";
this.button3.Click += new System.EventHandler(this.button3_Click);
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(563, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.listBox1,
this.button3,
this.button2,
this.button1,
this.textBox1,
this.checkedListBox1});
this.Text = "Fruit Order";
} [STAThread]
public static void Main(string[] args)
{
Application.Run(new Form1());
} // Adds the string if the text box has data in it.
private void button1_Click(object sender, System.EventArgs e)
{
if(textBox1.Text != "")
{
if(checkedListBox1.CheckedItems.Contains(textBox1.Text)== false)
checkedListBox1.Items.Add(textBox1.Text,CheckState.Checked);
textBox1.Text = "";
} }
// Activates or deactivates the Add button.
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
if (textBox1.Text == "")
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
} // Moves the checked items from the CheckedListBox to the listBox.
private void button2_Click(object sender, System.EventArgs e)
{
listBox1.Items.Clear();
button3.Enabled=false;
for (int i=0; i< checkedListBox1.CheckedItems.Count;i++)
{
listBox1.Items.Add(checkedListBox1.CheckedItems[i]);
}
if (listBox1.Items.Count>0)
button3.Enabled=true;
}
// Activates the move button if there are checked items.
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if(e.NewValue==CheckState.Unchecked)
{
if(checkedListBox1.CheckedItems.Count==1)
{
button2.Enabled = false;
}
}
else
{
button2.Enabled = true;
}
} // Saves the items to a file.
private void button3_Click(object sender, System.EventArgs e)
{
// Insert code to save a file.
listBox1.Items.Clear();
IEnumerator myEnumerator;
myEnumerator = checkedListBox1.CheckedIndices.GetEnumerator();
int y;
while (myEnumerator.MoveNext() != false)
{
y =(int) myEnumerator.Current;
checkedListBox1.SetItemChecked(y, false);
}
button3.Enabled = false ;
}
}
}