winform基础控件-例子学习
1、如图实现整数计算器

ComboBox控件:
Items属性:添加集合中的项。
this.comoper.Items.AddRange(new object[] {
"+",
"-",
"x",
"/"});
TextBox:
对TextBox的输入文本有限制:
1)只能输入数值型(整数和小数);
2)小数点不能开头,小数只能输入一位;
3)不满足要求的输入统一不接受。
实现方法
使用TextBox的KeyPress事件:在控件有焦点的情况下按下键时发生。
KeyChar属性获取或设置与按下的键对应的字符。
KeyPress 事件不能由非字符键引发;但是非字符键能够引发 KeyDown 和 KeyUp 事件。
使用 KeyChar 属性采样运行时的键击,以及使用或修改常用键击的一个子集。
若要仅在窗体级别处理键盘事件而不允许其他控件接收键盘事件,请将窗体的 KeyPress 事件处理方法中的 KeyPressEventArgs. Handled 属性设置为true。
//处理键盘按键盘事件,当前时间焦点在TextBox控件级别
private void textnum1_KeyPress(object sender, KeyPressEventArgs e)
{
//通过sender得到触发该事件的控件
TextBox currtextbox = sender as TextBox; if (e.KeyChar<'' || e.KeyChar>'')
{
//用户输入的不是数字
e.Handled = true;
}
//用户是否输入了退格键
if (e.KeyChar==)
{
e.Handled = false;
}
//让用户输入小数点,判断是不是小数点
if(e.KeyChar==)
{
//只让用户输入一个小数点,检测当前文本框是否有小数点
//报告指定 Unicode 字符或字符串在此实例中的第一个匹配项的从零开始的索引。 如果未在此实例中找到该字符或字符串,则此方法返回 -1。
if (currtextbox.Text.IndexOf(".") == -)
{
//小数点不能在第一位,注意字符是单个单个输入的
//SelectionStart获取或设置文本框中当前输入的文本起始点。
if(currtextbox.SelectionStart>)
{
e.Handled = false;
}
} }
}

using System;
using System.Windows.Forms; public class Form1: Form
{
public Form1()
{
// Create a TextBox control.
TextBox tb = new TextBox();
this.Controls.Add(tb);
tb.KeyPress += new KeyPressEventHandler(keypressed);
} private void keypressed(Object o, KeyPressEventArgs e)
{
// The keypressed method uses the KeyChar property to check
// whether the ENTER key is pressed. // If the ENTER key is pressed, the Handled property is set to true,
// to indicate the event is handled.
if (e.KeyChar == (char)Keys.Return)
{
e.Handled = true;
}
} public static void Main()
{
Application.Run(new Form1());
}
}
2、图片查看器

身份证号码的校正:
private bool CheckCardId(string id)
{
//校验位的权值或编码值
int[] wQuan = { , , , , , , , , , , , , , , , , };
string checkWei = "10X98765432";
string number17 = id.Substring(, );
string number18 = id.Substring();
int sum=;
for(int i=;i<;i++)
{
sum+=Convert.ToInt32(number17[i].ToString())* wQuan[i];
//char类型不能直接转换成整形(实际转换成对应的ascii),先tostring在转换 }
int mod = sum % ;
string result = checkWei[mod].ToString();
if(number18.Equals(result,StringComparison.OrdinalIgnoreCase))
{
return false;
}
else
{
return true;
}
} private void btnView_Click(object sender, EventArgs e)
{
//身份证可能是15位或者18位
//15位身份证组号:省(20)市(2)县(2)年(2)月(2)日(2)+3序列号(奇男偶女)
//18位身份证:第一:出生年前加上19 第二点:第18位校验位,从前17位计算而来
string id = pidid.Text;
int age = ;
int year = ;
if (id.Length == )
{
year = Convert.ToInt32(id.Substring(, )) + ;
}
else if (id.Length == )
{
if(!this.CheckCardId(id))
{
MessageBox.Show("身份证输入有误,请检查");
return;
}
year = Convert.ToInt32(id.Substring(, ));
}
else
{
MessageBox.Show("身份证长度输入有误,请重新输入");
return;
}
age = DateTime.Now.Year - year;
if (age >= )
{
pic.Visible = true;
}
else
{
MessageBox.Show("你太小了,回家看动画片吧");
}
}
3、访问网址
WebBrowser类:使用户可以在窗体内导航网页。

private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(button1.Text);
}

4.树形控件增删该查

TreeView:
与上图对应的方法:
private void button1_Click(object sender, EventArgs e)
{
treeView1.HideSelection = false;
MessageBox.Show(treeView1.SelectedNode.Text); } private void button2_Click(object sender, EventArgs e)
{
//MessageBox.Show("根节点节点的数量{0}", treeView1.Nodes.Count.ToString());
//treeView1.Nodes.Add("add");根节点添加
//treeView1.Nodes[0].Nodes[0].Nodes.Add("王晓东");//添加到一级节点下
if(treeView1.SelectedNode!=null)
{
treeView1.SelectedNode.Nodes.Add(textBox1.Text);
}
if(treeView1.SelectedNode==null)
{
treeView1.Nodes.Add(textBox1.Text);
} } private void TreeView_Load(object sender, EventArgs e)
{
treeView1.ExpandAll();//展开节点
treeView1.Nodes[].ImageIndex = ;
} private void button4_Click(object sender, EventArgs e)
{
if(treeView1.SelectedNode!=null)
{
//treeView1.SelectedNode.ExpandAll();//展开当前节点下的所有节点
treeView1.SelectedNode.Expand();//展开当前节点下的所子节点
}
} private void button3_Click(object sender, EventArgs e)
{
if (treeView1.SelectedNode != null)
{
treeView1.SelectedNode.Collapse();//关闭当前节点下的所有节点
}
} private void button5_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Remove();
} private void button6_Click(object sender, EventArgs e)
{
string str="选中的语言";
foreach(TreeNode tn in treeView1.Nodes[].Nodes[].Nodes)
{
if(tn.Checked==true)
{
str = str + tn.Text;
}
}
MessageBox.Show(str);
} private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
foreach (TreeNode tn in e.Node.Nodes)
{
tn.Checked = e.Node.Checked;
}
}
winform基础控件-例子学习的更多相关文章
- winform基础控件总结
转自:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 基础 - 常用控件 C# WinForm开发系列 - CheckBox/B ...
- iOS界面设计之基础控件的学习 --- UITextField
学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable . UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的 ...
- 【Android开发学习笔记】【第四课】基础控件的学习
通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast ...
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...
- React Native环境搭建以及几个基础控件的使用
之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...
- Winform DevExpress控件库(一) DevExpress控件库的安装与新建第一个DevExpress项目
前言:因为这段时间要接触到DevExpress控件库,而我本身甚至对winform的控件都了解甚少,所以处在学习中,写下博客主要是为了方便后期的回顾,当然也可以给一些新人第一次接触时做为学习的参考,以 ...
- Python Tkinter基础控件入门实例
分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 ...
- winform窗体控件(全)
回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...
- C#实现WinForm DataGridView控件支持叠加数据绑定
我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...
随机推荐
- servlet的url-pattern规则
https://www.cnblogs.com/canger/p/6084846.html
- Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting
解决方法: find / -name supervisor.sock unlink /name/supervisor.sock 2. www-data 用户是干什么用的 3.如何通过superviso ...
- linux通过源码安装nodejs
1.下载nodejs源码,下载地址:https://nodejs.org/en/download/ 2.下载回来后,解压缩,ubuntu系统ctrl + alt +T 打开终端 假如tar.gz压缩包 ...
- HighCharts理解与总结
摘自:http://www.highcharts.com/docs/getting-started/installation Installation Highcharts requires two ...
- C#实现文件下载的几种方式
上篇博客也说了下C#中通过XML导出Excel,这些文件操作都挺有用的,下面是文件的下载,之前做项目都是把它写的空间日志中,以后有时间了把它们都弄出来 先把有问题的代码贴出来吧 using Syste ...
- Fanvas是一个把swf转为html5 canvas动画的系统
https://github.com/Tencent/Fanvas 使用方法: 代码: <!DOCTYPE html> <html> <head> ...
- IIS 站点 共享目录
1.先建立站点,再设置文件夹为共享,Everyone 2.Mac电脑 Everyone不能访问,必须建立用户
- VS中自定义C#快速简写代码
首先在VS中找到工具——代码片段管理器——语言选择(CSharp)——Visual C#——赋值路径——根据路径找到对应的代码片段用VS打开 修改: Title——标题 ShortCut——缩写 D ...
- DataGridview 绘制行序号
RowPostpaint 事件 通过Rectangle(矩形的意思)对象绘制矩形区域,然后在通过textRenderer的DeawText方法来绘制序列号. Rectangle(x,y width ...
- 关于vue.js父子组件数据传递
vue.js中使用props down,events up的原则进行父子组件间的通信,先来记录下props down,看个例子: <div id="app2"> < ...