窗体的事件

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

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

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

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

 namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()//构造方法
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)// sender(事件源):谁触发的就是谁的这里是Form1的;e(事件数据)
{
//写事件
}
}
}

事件

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

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

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

Label的取值赋值:

         private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "hhhhh傻鸡";
label1.Text = "啊哈哈哈";
MessageBox.Show(label1.Text);
}

label

2、TextBox -- 文本框

TextBox的取值赋值:

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

textbox

3、RichTextBox --文本域

可以随意调整大小

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

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

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

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

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

用法同TextBox

4、Button -- 按钮

text:修改显示的文字

name:id

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

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

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

button

5、radioButton -- 单选按钮

text:文字

Checked:是否选中

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

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

取选中值:

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

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

 private void button2_Click(object sender, EventArgs e)
{
//从form1中所有的工具(对象)
foreach (Control ctr in panel1.Controls)//取到该容器下的所有工具 是个集合
{
//判断该对象ctr是不是属于子类radiobutton
if (ctr is RadioButton)
{
//如果是则装换类型
RadioButton rd = ctr as RadioButton;
if (rd.Checked)
{
MessageBox.Show(rd.Text);
}
}
}
}

radiobutton--取选中值

设置某一项选中:

         private void button3_Click(object sender, EventArgs e)
{
//遍历form1中的工具
foreach (Control ctr in panel1.Controls)
{
//判断是不是子类radiobutton
if (ctr is RadioButton)
{
//如果是强转
RadioButton rd = ctr as RadioButton;
if (rd.Text == "女")
{
rd.Checked = true;
}
}
}
}

radiobutton--设置选中

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

         private void Form1_Load(object sender, EventArgs e)
{
//首先造一个该工具的对象
RadioButton radiobutton4 = new RadioButton();
//赋值
radiobutton4.Text = "哈";
//括号里面是一个父类,里氏代换原则
panel1.Controls.Add(radiobutton4);
}

代码添加工具

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

取选中值:

         private void button4_Click(object sender, EventArgs e)
{
foreach (Control ctr in panel2.Controls)
{
if (ctr is CheckBox)
{
CheckBox ck = ctr as CheckBox;
if (ck.Checked)
{
MessageBox.Show(ck.Text);
}
}
}
}

checkbox--取选中值

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

设置某一项选中:

         private void button5_Click(object sender, EventArgs e)
{
foreach (Control ctr in panel2.Controls)
{
if (ctr is CheckBox)
{
CheckBox ck = ctr as CheckBox;
if (ck.Text == "汉族")
{
ck.Checked = true;
}
}
}
}

checkbox--设置选中

全选:

         private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
foreach (Control ctr in panel2.Controls)
{
if (ctr is CheckBox)
{
CheckBox ck = ctr as CheckBox;
ck.Checked = checkBox3.Checked;
}
}
}

设置全选或全不选

7、listbox--列表框

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

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

从数据库添加数据:

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

         private void Form1_Load(object sender, EventArgs e)
{
NationDA da = new NationDA();
//给listbox指定 数据源
listBox1.DataSource = da.Select();
//指定显示的值
listBox1.DisplayMember = "Name";
//指定后台value值
listBox1.ValueMember = "Code";
}

从数据库添加数据

取多项选中的value值:

         private void button6_Click(object sender, EventArgs e)
{
foreach (Nation data in listBox1.SelectedItems)//SelectedItems获取当前选定项的集合
{
MessageBox.Show(data.Code);
}
}

获取多项选中项的value值

取选中的value值:

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

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

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

设置某项选中:

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

设置某项被选中2种方法

8、combobox--下拉列表

所有用法同listbox:

         private void Form1_Load(object sender, EventArgs e)
{
NationDA da = new NationDA();
//添加一项请选择
Nation data = new Nation();
data.Code = "qxz";
data.Name = "请选择"; List<Nation> list = da.Select();
list.Add(data); comboBox1.DataSource = list;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Code";
}

添加数据库信息

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

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

设置时间2方法

取选中值:

         private void button7_Click(object sender, EventArgs e)
{
MessageBox.Show(dateTimePicker1.Value.ToString("yyyy年MM月dd HH:mm:ss:ms")); }

取选中时间

WinForm 控件(上)的更多相关文章

  1. .Net WinForm 控件键盘消息处理剖析

    在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等 ...

  2. WinForm 控件键盘消息处理剖析(转)

    一直想整理键盘事件的调用顺序,刚好看见园子里的这篇文章,写的不错,就转载了:http://www.cnblogs.com/tedzhao/archive/2010/09/07/1820557.html ...

  3. 在WPF中使用WinForm控件方法

    1.      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll. 2.      在要使用WinForm控 ...

  4. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

    今天关闭一个窗体,报出这样的一个错误"在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke.",这个不用多想,肯定是那个地方没有释放掉.既然碰到这个问题, ...

  5. 通过WinForm控件创建的WPF控件无法输入的问题

    今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子 ...

  6. Winform 控件

    ※控件在视图工具箱里面找,找到之后双击即可添加进来,也可以点住拖进来 ※每个工具,控件,窗体都有一个name,相当于id,用来标识该对象的名称,name值不允许重复 控件: 1.Label -- 文本 ...

  7. C# 扩展方法奇思妙用高级篇六:WinForm 控件选择器

    在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象.但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器.好在我们有扩展方法,可以很方便的打造一个. ...

  8. WinForm控件使用文章收藏整理完成

    对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...

  9. [转]在WPF中使用WinForm控件方法

    本文转自:http://blog.csdn.net/lianchangshuai/article/details/6415241 下面以在Wpf中添加ZedGraph(用于创建任意数据的二维线型.条型 ...

随机推荐

  1. highcharts分段显示不同颜色

    最近在做统计图的时候,碰到一个需求 类似如下: 就是在红色虚线框内的折线在不同区域用不同的颜色表示,并且是虚线. 开始定位为用highcharts库实现.确定用这个库后,开始在网上查资料,发现有类似的 ...

  2. compass scss blueprint

    [转载] 今天在执行compass create my-grid –using blueprint 命令时发现报错 google了一下,说是新版compass已经不包括compass-bluprint ...

  3. MongoDB 基本命令

    ./mongo  进入命令行. 1.show dbs 显示当前数据库服务器上的数据库 2.use pagedb 切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集 ...

  4. [iOS Animation]-CALayer 图层几何学

    图层几何学 不熟悉几何学的人就不要来这里了 --柏拉图学院入口的签名 在第二章里面,我们介绍了图层背后的图片,和一些控制图层坐标和旋转的属性.在这一章中,我们将要看一看图层内部是如何根据父图层和兄弟图 ...

  5. POJ3268Dijkstra

    题意:给定n个点,m条边,求所有顶点中到顶点x的来回最短距离 分析:考虑到数据范围,选用Dijkstra,用Floyd会超时 #include <iostream> #include &l ...

  6. Android开发之FileProvider

    最近做项目时,都需要用到FileProvider.于是就研究了下,现总结如下: 官方路径:http://developer.android.com/intl/zh-cn/training/secure ...

  7. UIP源码之ARP过程分析

    之前我们使用UIP实现了tcp和udp通讯今天来说说UIP的实现流程,当然,这篇文章里面只会涉及tcp和udp,暂时还没办法说DHCP,因为UIP的DHCP实现使用了协程的概念,下一章将协程之后再说D ...

  8. 用weka来做Logistic Regression

    1.首先下载安装weka http://www.cs.waikato.ac.nz/ml/weka/downloading.html 2.打开weka,选择第一项Explorer 3.准备数据集文件,在 ...

  9. Delphi调用Android的.so文件(转)

    原地址:http://zhidao.baidu.com/link?url=fzqefMM44ljXA5BnAbkX44SapCUteyzlXFvGLKvukBivm9AB-w39P_h7eX1ty-G ...

  10. STM32-USB那点事

    STM32 USB那点事1 USB那点事2 - Custom HID例子程序解疑 USB那点事3 -使用端口2作为custom HID的传输 USB那点事5之USB通信出错 USB那点事6传输要素 S ...