文章目录
1.ComboBox
- ComboBox 是一个下拉框(组合框)控件。
- 只允许用户选择一个选项。
常用属性
- Name: 控件名称
- DropDownStyle: 下拉样式(DropDown、DropDownList、Simple)
- Items: 选项集合
- DataSource: 数据源
- DisplayMember: 显示的数据字段
- ValueMember: 实际值的数据字段
Items 方法
- 与 ListBox 相似,可以进行添加、删除和清空操作。
** 事件**
- SelectedIndexChanged: 当选中项发生变化时触发。
数据绑定
- 使用
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<UserInfo> list = new List<UserInfo>();
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);
}
}
效果展示
2.CheckedListBox
- CheckedListBox是用于显示项列表的控件,类似于ListBox。
- 区别在于,每个项前都有一个复选框,用户可以选择多个项。
- 这对于需要多选操作的场景非常有用。
属性:
- CheckOnClick: 这是一个布尔属性,如果设置为True,那么当用户单击项时,复选框将立即切换其选中状态。如果设置为False,则用户需要单击复选框才能更改选中状态。
方法和属性:
-
Items:
CheckedListBox控件的Items属性用于管理其中的项。
- Add方法: 可以使用Add方法向CheckedListBox添加项。
- DataSource: 如果你有一个数据源,可以将其分配给DataSource属性,以便动态填充CheckedListBox。
- DisplayMember: 当使用数据源时,DisplayMember属性定义了在项中显示的文本字段。
- ValueMember: 如果需要存储与每个项关联的值,可以使用ValueMember属性指定关联的值字段。
事件:
- SelectedIndexChanged: 当用户选择了不同的项时,将触发SelectedIndexChanged事件。这是一个常用的事件,可用于响应用户的选择操作。
- ItemCheck: 当项的选中状态更改时(不一定是由用户引发的),ItemCheck事件将被触发。这可以用于在更改发生前执行某些自定义逻辑。
简单案例
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<UserInfo> list = new List<UserInfo>();
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
}
}
效果展示
3.DateTimePicker和MonthCalender控件
3.1DateTimePicker
日期时间控件(DateTimePicker)是用于选择日期和/或时间的控件。它允许用户从日历中选择日期,或者从下拉列表中选择时间,具体取决于其设置。
属性:
- Value: 这是日期时间控件当前所选的日期和时间值。你可以使用这个属性来获取或设置控件的值。
- Text: Text属性用于获取或设置日期时间控件上显示的文本。通常,它会显示Value属性中的日期和时间。
- Format: Format属性用于指定日期时间控件的显示格式。它有几个选项:
- Custom: 使用自定义日期时间格式,需要配置CustomFormat属性。
- Long: 显示完整的日期和时间。
- Short: 显示较短的日期和时间。
- CustomFormat: 当Format属性设置为Custom时,CustomFormat属性用于指定自定义的日期时间格式。例如,你可以设置它为”yyyy-MM-dd HH:mm:ss”来显示年、月、日、小时、分钟和秒。
- ShowCheckBox: 这是一个布尔属性,如果设置为True,则在日期时间控件旁边显示一个复选框。用户可以使用复选框来启用或禁用日期时间选择。
- ShowUpDown: 这也是一个布尔属性,如果设置为True,则在日期时间控件旁边显示上下箭头按钮,用户可以使用这些按钮来增加或减少日期时间的值。
事件:
- ValueChanged: 当用户更改了日期时间控件的值时,将触发ValueChanged事件。这是一个常用的事件,通常用于在值更改后执行某些操作。
3.2 MonthCalender
月历控件(MonthCalendar)是用于选择日期的控件,通常以整个月份的日历形式显示日期。用户可以通过单击日期来选择日期。
属性:
- FirstDayOfWeek: 这是一个枚举属性,用于指定每周的第一天是哪一天。默认情况下,它通常设置为周日,但你可以将其更改为周一或其他任何适合你的选项。
- MaxSelectionCount: 这是一个整数属性,用于限制用户可以选择的日期的数量。你可以将其设置为1,以确保用户只能选择单个日期,或者将其设置为大于1的值,以允许选择多个日期。
- ShowWeekNumbers: 这是一个布尔属性,如果设置为True,则在月历控件中显示每周的周数。
- ShowToday: 这是一个布尔属性,如果设置为True,则在月历控件中突出显示当天的日期。
事件:
- DateChanged: 当用户选择的日期或日期范围发生改变时,将触发DateChanged事件。这是一个常用的事件,通常用于在用户选择日期时执行某些操作。
3.3 案例
代码示例
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();
}
}
效果
4.MaskedTextBox
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详细教程】源代码获取方式:
精彩推荐:
【C#进阶一】C#中的数组(Array)、集合(ArrayList,Queue,Stack, HashList)、List<T>、字典(Dictionary<K,T>)和双向链表LinkedList
【C#进阶八】C#中的序列化与反序列化下(二进制序列化、XML序列化及JSON序列化)
【C#进阶】C#语法中一些常用知识点总结
【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox
【WinForm详细教程三】WinForm中的NumericUpDown、PictureBox、RichTextBox及三种Timer控件
【WinForm详细教程四】WinForm中的ProgressBar 、ImageList和ListView控件
【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件
【WinForm详细教程六】WinForm中的GroupBox和Panel 、TabControl 、SplitContainer控件
【C#进阶】C#中的委托、事件、回调函数、匿名函数和lambda表达式
如果你对智能建造专业感兴趣,或者是相关方向的学生,老师或者从业人员,欢迎通过微信公众号【智能建造小硕】加入我们!
希望有所帮助,同时欢迎关注我们,后面将更新更多相关内容!
今天的文章vscode更新_winform列表控件[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80722.html