C# 常用控件(学习笔记6)
1. 公共属性
| 序号 | 属性 | 作用 |
|---|---|---|
| 1 | Name | 控件的ID,类似于人的身份证号码 |
| 2 | Text | 控件的文本,用于显示给用户看 |
| 3 | Enabled | 控件是否可用 |
| 4 | Location | 控件的位置信息,可以通过代码动态改变 |
| 5 | FlatStyle | 外观样式 Flat,Popup,Standard,System |
| 6 | Font | 字体大小及样式 |
| 7 | ForeColor | 控件的前景色 |
| 8 | BackgroudImage | 控件的背景图 |
| 9 | Visible | 控件是否可见 |
| 10 | Size | 控件大小 |
| 11 | Dock | 控件在容器中停靠方式 |
| 12 | Locked | 控件是否可以移动及改变大小 |
1.1. Location
通过代码动态改变控件位置。

/// <summary>
/// 左右移动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnZuoYouMove_Click(object sender, EventArgs e)
{
label1.Left = label1.Left + Convert.ToInt32(txtXOffset.Text);
}
/// <summary>
/// 上下移动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnShangXiaMove_Click(object sender, EventArgs e)
{
label1.Top = label1.Top + Convert.ToInt32(txtYOffset.Text);
}
1.2. FlatStyle :Flat,Popur,Standard,System

1.3. Dock : None,Top,Left,Fill,Right,Bottom





2. Button

- BackgroundImageLayout
- None:无任何效果
- Tile 图片铺满,一张不够就循环直至满。
![img]()
- Center 图片居中,如果图片尺寸大于按钮,效果和Title差不多。
![img]()
- Stretch 图片拉伸或缩小,保持和按钮一样大小。
![img]()
- Zoom 图片左右或上下适应按钮
![img]()
3. Textbox
- MultiLine 是否多行输入
设置为true,textbox允许多行输入,用Enter键来完成。
/// <summary>
/// 读取每一行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnTextBoxRead_Click(object sender, EventArgs e)
{
string[] strings = textBox1.Text.Split("\n".ToCharArray());
if (strings.Length > 0)
{
foreach (var item in strings)
{
MessageBox.Show(item);
}
}
}
/// <summary>
/// 追加内容
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnTextBoxWrite_Click(object sender, EventArgs e)
{
textBox1.AppendText("hello,world\r\n");
}
4. Label
当属性AutoSize为true时,无法改变Label的宽高
5. ComboBox 下拉框
- Items 子项数据
/// <summary>
/// 添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnComboBoxAdd_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
string[] strings = { "北京", "上海", "广州", "苏州", "杭州" };
comboBox1.Items.AddRange(strings);
}
/// <summary>
/// 读取选中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnComboBoxSelect_Click(object sender, EventArgs e)
{
MessageBox.Show(comboBox1.Text);
}
6. ListBox
/// <summary>
/// 添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListBoxAdd_Click(object sender, EventArgs e)
{
listBox1.Items.Add("hello,world");
}
/// <summary>
/// 选中数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListBoxSelect(object sender, EventArgs e)
{
SelectedObjectCollection selectedItem = listBox1.SelectedItems;
if (selectedItem != null)
{
foreach (var item in selectedItem)
{
MessageBox.Show(item.ToString());
}
}
}
/// <summary>
/// 删除选中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListBoxDelete_Click(object sender, EventArgs e)
{
while (listBox1.SelectedIndex != -1)
{
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}
}
/// <summary>
/// 批量添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListBoxAddBatch_Click(object sender, EventArgs e)
{
listBox1.Items.AddRange(new string[] { "hi1", "hi2", "hi3" });
}
7. DatetimePicker 日期时间选择器
当Format属性为Custom时,CustomFormat才有效。
8. ListView
使用:用表格方式展示数据,适用小批量的数据。

/// <summary>
/// 添加列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListViewAddCol_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
listView1.SmallImageList = imageList1;
listView1.Columns.Clear();
listView1.Columns.Add("站点名称", 100, HorizontalAlignment.Center);
listView1.Columns.Add("位置", 100, HorizontalAlignment.Center);
listView1.Columns.Add("CPU型号", 100, HorizontalAlignment.Center);
listView1.Columns.Add("IP", 120, HorizontalAlignment.Center);
}
/// <summary>
/// 添加数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListViewAddData_Click(object sender, EventArgs e)
{
// 数据更新,UI渲染暂时挂起,知道EndUpdate.
// 可以避免屏幕闪烁和提供加载速度
listView1.BeginUpdate();
listView1.Items.Clear();
ListViewItem item;
int j;
for (int i = 0; i < 10; i++)
{
j = i + 1;
item = new ListViewItem
{
ImageIndex = i,
Text = "Station" + j
};
item.SubItems.Add("Address" + j);
item.SubItems.Add("S7-1500-" + j);
item.SubItems.Add("192.168.0." + j);
listView1.Items.Add(item);
}
listView1.EndUpdate();
}
/// <summary>
/// 获得数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void BtnListViewSelectedData_Click(object sender, EventArgs e)
{
int intRow = Convert.ToInt32(cmbListViewRow.Text) - 1;
int intCol = Convert.ToInt32(cmbListViewCol.Text) - 1;
if (listView1.Items.Count >= intRow)
{
MessageBox.Show(listView1.Items[intRow].SubItems[intCol].Text);
}
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnListViewModifyData_Click(object sender, EventArgs e)
{
int intRow = Convert.ToInt32(cmbListViewRow.Text) - 1;
int intCol = Convert.ToInt32(cmbListViewCol.Text) - 1;
if (listView1.Items.Count >= intRow)
{
listView1.Items[intRow].SubItems[intCol].Text = "Is Changed!";
}
}
本文来自博客园,作者:huiy_小溪,转载请注明原文链接:https://www.cnblogs.com/huiy/p/19228564





浙公网安备 33010602011771号