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

通过代码动态改变控件位置。
img

        /// <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

img

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

img

img

img

img

img

2. Button

img

  • 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

使用:用表格方式展示数据,适用小批量的数据。

img

    /// <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!";
        }
    }
posted @ 2025-11-17 06:24  huiy_小溪  阅读(17)  评论(0)    收藏  举报