一、窗体的事件
每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码
位置: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)
{
label1.Text = "啊哈哈哈";
MessageBox.Show(label1.Text);
}
Label
2、TextBox -- 文本框
TextBox的取值赋值:
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "请输入用户名";
MessageBox.Show(textBox1.Text);
}
TexBox
3、RichTextBox --文本域
可以随意调整大小
部分属性:
Dock:定义要绑定到容器的控件边框
Multiline:控制编辑控件的文本是否能够跨越多行
ReadOnly:控制能否更改编辑控件中的文本,默认是False,改为True是只读
Enabled:指示是否已启用该控件
Visible:确定该控件是可见还是隐藏
※用法同TextBox
4、Button -- 按钮
text:修改按钮显示的文字
name:id
FlatStyle:确定当用户将鼠标移动到控件上并单击时该控件的外观
※点击事件:双击按钮可以时间某些功能
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"));
}
取选中时间
10、PictureBox
外观,Image可以选择图片路径
行为,SizeMode可以设置图片大小布局方式
11、Imagelist--图片集
imageList1.Images[n];
12、notifyicon--托盘图标工具
Text:鼠标放上显示的文字
Icon:托盘图标
Visible:可见或隐藏
ContextMenuStrip:与该图标关联的快捷菜单
13、MenuStrip--菜单工具
设置热键:在编辑的时候输入(&F)
设置快捷键:选中菜单项--右键属性--ShortCutKeys--设置快捷键
设置分隔线:在输入的时候输入减号(-)
14、ContextMenuStrip--快捷菜单
15、ToolTip --鼠标移入提示框
ToolTipTitle:提示的标题
Error: 错误图标
Info :信息图标
None :不是标准图标
Warning: 警告图标
在其他控件的杂项里面选择
16、ProgressBar --进度条
value:来设置进度条当前进度
MarqueeAnimationSpeed:字幕动画的速度以毫秒为单位
Maximum:使用的范围上限
17、Timer -- 时钟工具
Enabled:可用不可用
Interval:间隔时间
Tick事件:间隔执行的事件
※Tick事件与进度条(ProgressBar)联合运用
private void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value < )
{
progressBar1.Value = progressBar1.Value + ;
} label1.Text = DateTime.Now.ToString("HH:mm:ss");
}
联合
※以上控件的设置选中和取选中值,本人都是通过Button按钮的点击事件实现的!
winform窗体(二)——控件的更多相关文章
-
转:C# WinForm窗体及其控件的自适应
一.说明 2012-11-30 曾经写过 <C# WinForm窗体及其控件自适应各种屏幕分辨率> ,其中也讲解了控件自适应的原理.近期有网友说,装在panel里面的控件,没有效果? 这 ...
-
C# WinForm窗体及其控件自适应各种屏幕分辨率
C# WinForm窗体及其控件自适应各种屏幕分辨率 一.说明 我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置 ...
-
WinForm窗体及其控件的自适应
3步骤: 1.在需要自适应的Form中实例化全局变量 AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...
-
WinForm窗体PropertyGrid控件的使用
使用过 Microsoft Visual Basic 或 Microsoft Visual Studio .NET的朋友,一定使用过属性浏览器来浏览.查看或编辑一个或多个对象的属性..NET 框架 P ...
-
【Winfrom-适配窗体】 WinForm窗体及其控件的自适应,控件随着窗体变化
在Winform中,窗体最大化之后,控件仍然保持原来的大小,就会显得不好看,那么有什么办法让控件跟着窗体变化吗? 在需要自适应的Form中代码如下:(AutoSizeFormClass.cs源码在下方 ...
-
C# WinForm窗体及其控件的自适应
3步骤: 1.在需要自适应的Form中实例化全局变量 AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...
-
C#winform窗体用户控件自定义事件
C#许多事情都和事件有关系,大部分的事情我们可以通过C#自己的事件来完成,但如果我们自己新建了一个自定义控件,我们该如何定义自己想要的事件呢?下面我就来为大家粗略的讲解一番. 假设我们自定义了一个控件 ...
-
C# Winform窗体和控件自适应大小
1.在项目中创建类AutoSizeForm AutoSizeForm.cs文件代码: using System; using System.Collections.Generic; using Sys ...
-
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking";的使用 (二)
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同 ...
-
Winform跨窗体操作控件(使用委托)
Winform跨窗体操作控件是winform开发中很常见的形式,最常见且简单有效的方式便是使用委托的方式来进行操作,下面我将通过一个小实例来说明如何使用委托跨窗体实现控件操作. 实例介绍:两个窗体,F ...
随机推荐
-
python基础-文件操作
一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...
-
A与B相交后的图形查询
按照A与B图形得到相交后的图斑 <!-- <%@ Page Language="C#" AutoEventWireup="true" CodeBeh ...
-
iOS及Mac开源项目和学习资料【超级全面】
UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...
-
codevs-1447取出整数的一部分
说实在的,这个题目真不想写了…… 1447 取出整数的一部分 题目描述 Description 假如有一个整数(int):145678,现在我做截取该数一部份的操作,如输入4,返回前4位即1456;如 ...
-
去除Linq to Sql 查询结果中的空格
原来的写法: Dim db = From city In DataContext1.AddressCity Where city.ProvinceID = dgvAddress(2, e.RowInd ...
-
sqlite优化记录:建立索引加快查询速度
凡是数据库中,索引的存在就是为了提高查询速度的,数据库的索引有点类似于书本上面的目录的概念,因为在英文中都是index,事实上也就是目录. 其算法应该叫做“倒排索引”,这个其实也类似于搜索引擎里面的基 ...
-
最全ajax函数
function ajax(method, url, data, success) { var xhr = null; try { xhr = new XMLHttpRequest(); } catc ...
-
从壹开始微服务 [ DDD ] 之四 ║让你明白DDD的小故事 &; EFCore初探
缘起 哈喽大家好哟,今天又到了老张的周二四放送时间了,当然中间还有不定期的更新(因为个人看papi酱看多了),这个主要是针对小伙伴提出的问题和优秀解决方案而写的,经过上周两篇DDD领域驱动设计的试水, ...
-
一般删除网页数据和jquery下使用Ajax删除数据的区别
1. 一般删除网页数据 就是指用户在点击删除的时候,会跳转到DeleteUser.ashx一般处理程序中,并且通过get传参的方式传递一个id的参数,然后在后台处理 <a href='Delet ...
-
ldap命令
ldapadd -x 进行简单认证 -D 用来绑定服务器的DN -h 目录服务的地址 -w 绑定DN的密码 -f 使用ldif文件进行条目添加的文件 -W 交互式输入DN的密码 ...