常用属性
Items 方法
** 事件**
数据绑定
DataSource
、DisplayMember
和 ValueMember
进行数据绑定。简单案例
创建一个 Person
类:
public class UserInfo
{
public string Name { get; set; }
public int ID { get; set; }
}
下面是如何使用这个类来填充 ComboBox 的一个例子。
代码
public partial class frmComboBox : Form
{
public frmComboBox()
{
InitializeComponent();
List list = new List();
list.Add(new UserInfo
{
Name = "智能建造小硕",
ID = 0
});
list.Add(new UserInfo()
{
ID = 1,
Name = "admin"
});
list.Add(new UserInfo()
{
ID = 2,
Name = "lycchun"
});
list.Add(new UserInfo()
{
ID = 3,
Name = "lwb"
});
list.Add(new UserInfo()
{
ID = 4,
Name = "Eleven"
});
list.Add(new UserInfo()
{
ID = 5,
Name = "Jason"
});
cobName.DataSource = list;
cobName.ValueMember = "ID";
cobName.DisplayMember = "Name";
//注册事件
cobName.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("选中了:" + (cobName.SelectedItem as UserInfo).Name, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
效果展示
属性:
方法和属性:
Items:
CheckedListBox控件的Items属性用于管理其中的项。
事件:
简单案例
public partial class frmCheckedListBox : Form
{
public frmCheckedListBox()
{
InitializeComponent();
}
private void frmCheckedListBox_Load(object sender, EventArgs e)
{
直接添加项
//cklLList.Items.Clear();
//cklLList.Items.Add(1);
//cklLList.Items.Add("aaa");
//cklLList.Items.AddRange(new string[] { "aaa", "bbb", "ccc" });
//cklLList.Items.Insert(2, "ddd");
//cklLList.Items.Remove("ddd");
//cklLList.Items.RemoveAt(2);//移除第3项
List list = new List();
list.Add(new UserInfo()
{
ID = 1,
Name = "admin"
});
list.Add(new UserInfo()
{
ID = 2,
Name = "lycchun"
});
list.Add(new UserInfo()
{
ID = 3,
Name = "lwb"
});
list.Add(new UserInfo()
{
ID = 4,
Name = "Eleven"
});
list.Add(new UserInfo()
{
ID = 5,
Name = "Jason"
});
//当指定 了DataSource,是不可以修改Items集合的
cklLList.DataSource = list;
cklLList.DisplayMember = "Name";
cklLList.ValueMember = "Id";
//cklLList.Items.RemoveAt(4);
//勾选或选择项的获取
//cklLList.CheckedIndices
//cklLList.CheckedItems
//cklLList.SelectedIndices
//cklLList.SelectedItems
//cklLList.SelectedIndex
}
}
日期时间控件(DateTimePicker)是用于选择日期和/或时间的控件。它允许用户从日历中选择日期,或者从下拉列表中选择时间,具体取决于其设置。
属性:
事件:
月历控件(MonthCalendar)是用于选择日期的控件,通常以整个月份的日历形式显示日期。用户可以通过单击日期来选择日期。
属性:
事件:
代码示例
public partial class frmTime : Form
{
public frmTime()
{
InitializeComponent();
}
private void frmTime_Load(object sender, EventArgs e)
{
// 设置日期时间控件的显示格式为长日期
dateTimePicker1.Format = DateTimePickerFormat.Long;
// 启用复选框,允许用户禁用日期时间选择
dateTimePicker1.ShowCheckBox = true;
// 不显示上下箭头按钮
dateTimePicker1.ShowUpDown = false;
// 设置每周的第一天为周一
monthCalendar1.FirstDayOfWeek = Day.Monday;
// 设置允许选择多个日期
monthCalendar1.MaxSelectionCount = 10;
// 显示每周的周数
monthCalendar1.ShowWeekNumbers = true;
// 突出显示当天的日期
monthCalendar1.ShowToday = true;
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
// 当日期时间控件的值更改时,将新值显示在Label中
label2.Text = "选择的日期时间是:" + dateTimePicker1.Value.ToString();
}
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
// 当用户选择的日期范围发生改变时,将新的日期范围显示在Label中
label1.Text = "选择的日期范围是:" + e.Start.ToShortDateString() + " 到 " + e.End.ToShortDateString();
}
}
效果
MaskedTextBox
控件基于掩码来验证和格式化用户输入。掩码是一个字符串,其中每个字符都表示一个特定的输入要求。以下是一些常见的掩码代号及其含义:
0
:表示 0 到 9 之间的任何一个数字(使用 *
作为占位符)。9
:表示数字或空格。#
:表示数字、加号或减号。L
:表示 ASCII 字母(使用 *
作为占位符)。&
:表示任何字符。C
:表示字符。A
:表示字母。属性:
Name
:控件的名称。BeepOnError
:如果设置为 true,当输入不符合掩码规则时,会发出蜂鸣声。Mask
:掩码字符串,用于规定输入的格式。PasswordChar
:指定一个字符,用于替代输入的字符,例如用于密码输入。PromptChar
:指定掩码中的占位符字符。RejectInputOnFirstFailure
:如果设置为 true,当输入不符合掩码规则的第一个字符时,会拒绝输入。Text
:控件中显示的文本。TextMaskFormat
:指定控件文本的显示格式。CutCopyMaskFormat
:指定剪切和复制操作的格式。事件:
MaskChanged
:在掩码发生变化时触发的事件。MaskInputRejected
:当用户输入被拒绝时触发的事件。使用示例:
使用 MaskedTextBox
控件来输入电话号码,使用 (###) ###-####
的格式。以下是一个示例:
public partial class FrmMaskedTextBox : Form
{
public FrmMaskedTextBox()
{
InitializeComponent();
}
private void FrmMaskedTextBox_Load(object sender, EventArgs e)
{
maskedTextBox1.BeepOnError = true;//输入错误提示音
// 设置掩码为电话号码格式
maskedTextBox1.Mask = "(999) 000-0000";
// 设置 PromptChar 为一个空格,以便在用户输入时自动填充占位符
maskedTextBox1.PromptChar = ' ';
}
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
if (e.Position < 0)
{
MessageBox.Show("输入不足以满足格式要求", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("无效字符位于 " + e.Position + " 位置", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
【WinForm详细教程三】WinForm中的NumericUpDown、PictureBox、RichTextBox及三种Timer控件
【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox
【C#进阶】C#语法中一些常用知识点总结
希望有所帮助,同时欢迎关注我,后面将更新更多相关内容!