zoukankan      html  css  js  c++  java
  • WinForm 控件(上)

    窗体的事件

      每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码

    位置:1)右键属性→事件→load 双击进入

             2)双击窗体任意一个位置进入

    删除事件:先将事件页面里面的挂好的事件删除再删后台代码里面的事件

     1 namespace WindowsFormsApplication2
     2 {
     3     public partial class Form1 : Form
     4     {
     5         public Form1()//构造方法
     6         {
     7             InitializeComponent();
     8         }
     9 
    10         private void Form1_Load(object sender, EventArgs e)// sender(事件源):谁触发的就是谁的这里是Form1的;e(事件数据)
    11         {
    12              //写事件
    13         }
    14     }
    15 }  
    事件

    控件在工具箱里面找,找到之后双击即可添加进来,也可以点住拖进来

    每个工具,控件,窗体都有一个name,相当于id,用来标识该对象的名称,name值不允许重复

    1、Label -- 文本显示工具
    Text:显示的文字

    Label的取值赋值:

    1         private void Form1_Load(object sender, EventArgs e)
    2         {
    3             textBox1.Text = "hhhhh傻鸡";
    4             label1.Text = "啊哈哈哈";
    5             MessageBox.Show(label1.Text);
    6         }
    label

    2、TextBox -- 文本框

    TextBox的取值赋值:

    1         private void Form1_Load(object sender, EventArgs e)
    2         {
    3             textBox1.Text = "请输入用户名";
    4             MessageBox.Show(textBox1.Text);
    5         }
    textbox

    3、RichTextBox --文本域

    可以随意调整大小

    Dock:定义要绑定到容器的控件边框

    Multiline:控制编辑控件的文本是否能够跨越多行

    ReadOnly:控制能否更改编辑控件中的文本,默认是False,改为True是只读

    Enabled:指示是否已启用该控件

    Visible:确定该控件是可见还是隐藏

    用法同TextBox

    4、Button -- 按钮

    text:修改显示的文字

    name:id

    FlatStyle:确定当用户将鼠标移动到控件上并单击时该控件的外观

    点击事件:双击按钮可以时间某些功能

    1 private void button1_Click(object sender, EventArgs e)
    2 {
    3     MessageBox.Show("点击了按钮");
    4 }
    button 

    5、radioButton -- 单选按钮

    text:文字

    Checked:是否选中

    把多个单选按钮做成互斥,winform里面没有group属性,所以要看他们父级容器(只能是上一级),如果在同一个父级下就是同一组

    如果要进行分组,则将同一组的按钮放到同一个容器下 用Panel

    取选中值:

    每一种工具都是一个类 如:radiobutton都是radiobutton类

    每一个窗体都继承自form类 所有工具也均继承自一个父类就是Control

     1 private void button2_Click(object sender, EventArgs e)
     2         {
     3             //从form1中所有的工具(对象)
     4             foreach (Control ctr in panel1.Controls)//取到该容器下的所有工具  是个集合
     5             {
     6                 //判断该对象ctr是不是属于子类radiobutton
     7                 if (ctr is RadioButton)
     8                 {
     9                     //如果是则装换类型
    10                     RadioButton rd = ctr as RadioButton;
    11                     if (rd.Checked)
    12                     {
    13                         MessageBox.Show(rd.Text);
    14                     }
    15                 }
    16             }
    17         }
    radiobutton--取选中值

    设置某一项选中:

     1         private void button3_Click(object sender, EventArgs e)
     2         {
     3             //遍历form1中的工具
     4             foreach (Control ctr in panel1.Controls)
     5             {
     6                 //判断是不是子类radiobutton
     7                 if (ctr is RadioButton)
     8                 {
     9                     //如果是强转
    10                     RadioButton rd = ctr as RadioButton;
    11                     if (rd.Text == "")
    12                     {
    13                         rd.Checked = true;
    14                     }
    15                 }
    16             }
    17         }
    radiobutton--设置选中

    ※利用代码往容器里添加工具:

    1         private void Form1_Load(object sender, EventArgs e)
    2         {
    3             //首先造一个该工具的对象
    4             RadioButton radiobutton4 = new RadioButton();
    5             //赋值
    6             radiobutton4.Text = "";
    7             //括号里面是一个父类,里氏代换原则
    8             panel1.Controls.Add(radiobutton4);
    9         }
    代码添加工具

    6、checkbox -- 复选框组
    Checked属性:是否选中
    Tag属性:可以存储自定义数,用户自己定义

    取选中值:

     1         private void button4_Click(object sender, EventArgs e)
     2         {
     3             foreach (Control ctr in panel2.Controls)
     4             {
     5                 if (ctr is CheckBox)
     6                 {
     7                     CheckBox ck = ctr as CheckBox;
     8                     if (ck.Checked)
     9                     {
    10                         MessageBox.Show(ck.Text);
    11                     }
    12                 }
    13             }
    14         }
    checkbox--取选中值

    读取存取的自定义数:MessageBox.Show(ck.Tag.ToString());

    设置某一项选中:

     1         private void button5_Click(object sender, EventArgs e)
     2         {
     3             foreach (Control ctr in panel2.Controls)
     4             {
     5                 if (ctr is CheckBox)
     6                 {
     7                     CheckBox ck = ctr as CheckBox;
     8                     if (ck.Text == "汉族")
     9                     {
    10                         ck.Checked = true;
    11                     }
    12                 }
    13             }
    14         }
    checkbox--设置选中

    全选:

     1         private void checkBox3_CheckedChanged(object sender, EventArgs e)
     2         {
     3             foreach (Control ctr in panel2.Controls)
     4             {
     5                 if (ctr is CheckBox)
     6                 {
     7                     CheckBox ck = ctr as CheckBox;
     8                     ck.Checked = checkBox3.Checked;
     9                 }
    10             }
    11         }
    设置全选或全不选

    7、listbox--列表框

    items:列表框中的值 是一个集合 一般用数据库读取数据来添加

    SelectionMode:指示列表框将是单项选择,多项选择还是不可选择

    从数据库添加数据:

    首先建立数据库连接(三个类)

     1         private void Form1_Load(object sender, EventArgs e)
     2         {
     3             NationDA da = new NationDA();
     4             //给listbox指定 数据源
     5             listBox1.DataSource = da.Select();
     6             //指定显示的值
     7             listBox1.DisplayMember = "Name";
     8             //指定后台value值
     9             listBox1.ValueMember = "Code";
    10         }
    从数据库添加数据

    取多项选中的value值:

    1         private void button6_Click(object sender, EventArgs e)
    2         {
    3             foreach (Nation data in listBox1.SelectedItems)//SelectedItems获取当前选定项的集合
    4             {
    5                 MessageBox.Show(data.Code);
    6             }
    7         }
    获取多项选中项的value值

    取选中的value值:

    MessageBox.Show(listNation.SelectedValue.ToString()) 

    取选中项:(取到的是实体对象)

    Nation data = listbox1.SelectedItem as Nation;
    MessageBox.Show(data.Code);

    设置某项选中:

    1         private void button7_Click(object sender, EventArgs e)
    2         {
    3             //方法1:
    4             //listBox1.SelectedIndex = 1; //设置当前选定项从0开始的索引
    5             //方法2:
    6             listBox1.SelectedValue = "n005"; //设置指定成员属性的值
    7         }
    设置某项被选中2种方法

    8、combobox--下拉列表

    所有用法同listbox:

     1         private void Form1_Load(object sender, EventArgs e)
     2         {
     3             NationDA da = new NationDA();
     4             //添加一项请选择
     5             Nation data = new Nation();
     6             data.Code = "qxz";
     7             data.Name = "请选择";
     8 
     9             List<Nation> list = da.Select();
    10             list.Add(data);
    11 
    12             comboBox1.DataSource = list;
    13             comboBox1.DisplayMember = "Name";
    14             comboBox1.ValueMember = "Code";
    15         }
    添加数据库信息

    9、DataTimePicker -- 日期选择控件
    设置选中:

    1         private void button8_Click(object sender, EventArgs e)
    2         {
    3             //定义一个时间
    4             string sj = "2016-1-1";
    5             //方法1:
    6             //dateTimePicker1.Value = Convert.ToDateTime(sj);
    7             //方法2:
    8             dateTimePicker1.Text = sj;
    9         }
    设置时间2方法

    取选中值:

    1         private void button7_Click(object sender, EventArgs e)
    2         {
    3             MessageBox.Show(dateTimePicker1.Value.ToString("yyyy年MM月dd HH:mm:ss:ms"));
    4           
    5         }
    取选中时间
  • 相关阅读:
    Maven对Springboot项目配置文件、依赖分离打包
    记录一次SpringBoot中@Value注入失败
    springboot读取配置文件getResourceAsStream的用法
    hive的行列转换2
    hive的行列转换
    idea中java编译Unreachable statement编译错误
    Java 基础( 数组)
    linux ln命令详解
    Mac下打开进入/usr/local等隐藏目录
    Go map字典排序
  • 原文地址:https://www.cnblogs.com/ShenG1/p/5795121.html
Copyright © 2011-2022 走看看