1、如图实现整数计算器

ComboBox控件:

Items属性:添加集合中的项。

this.comoper.Items.AddRange(new object[] {
"+",
"-",
"x",
"/"});

TextBox:

对TextBox的输入文本有限制:

1)只能输入数值型(整数和小数);

2)小数点不能开头,小数只能输入一位;

3)不满足要求的输入统一不接受。

实现方法

使用TextBox的KeyPress事件:在控件有焦点的情况下按下键时发生。

KeyChar属性获取或设置与按下的键对应的字符。

KeyPress 事件不能由非字符键引发;但是非字符键能够引发 KeyDownKeyUp 事件。

使用 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基础控件-例子学习的更多相关文章

  1. winform基础控件总结

    转自:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 基础 - 常用控件 C# WinForm开发系列 - CheckBox/B ...

  2. iOS界面设计之基础控件的学习 --- UITextField

    学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable . UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的 ...

  3. 【Android开发学习笔记】【第四课】基础控件的学习

    通过一个简单的例子来学习下面几种控件: 1.TextView:简单的文本显示控件 2.EditText:可以编辑的文本框 3.Button:按钮 4.Menu:这里指的是系统的Menu 5.Toast ...

  4. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  5. React Native环境搭建以及几个基础控件的使用

    之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...

  6. Winform DevExpress控件库(一) DevExpress控件库的安装与新建第一个DevExpress项目

    前言:因为这段时间要接触到DevExpress控件库,而我本身甚至对winform的控件都了解甚少,所以处在学习中,写下博客主要是为了方便后期的回顾,当然也可以给一些新人第一次接触时做为学习的参考,以 ...

  7. Python Tkinter基础控件入门实例

    分享一个Python Tkinter基础控件用法的入门例子,包括窗口的显示.显示内置图片.弹出窗口.菜单等. 例子,Python Tkinter基础控件的用法 # -*- coding: utf-8 ...

  8. winform窗体控件(全)

    回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...

  9. C#实现WinForm DataGridView控件支持叠加数据绑定

    我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...

随机推荐

  1. 没事用html5 canvas画一个仪表盘自用,自适应的哦

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本

    关于Visual Studio 2012中使用InstallUtil对Windows服务进行安装与卸载的文章,在MSDN中的http://msdn.microsoft.com/en-us/librar ...

  3. Microsoft Power BI Desktop概念学习系列之Microsoft Power BI Desktop是什么?

    不多说,直接上干货! 官网 https://powerbi.microsoft.com/zh-cn/desktop/ Microsoft  Power BI Desktop是什么? https://p ...

  4. mix使用本地依赖

    在看elixir程序设计,书中讲到依赖设置,但是都是要联网,自己希望可以下载到本地电脑硬盘,然后项目要使用就用本地的,不要每次都要下载,因为天朝下载真的不稳 官方看到文档 {:deps_name,pa ...

  5. SOA与微服务

    SOA 面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署.组合和使用.服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性. SOA是一种 ...

  6. Spring多线程编程

    在Spring框架下如何保证线程安全,如何很happy顺畅地并发编程. 常见的如下面的这坨代码,在Spring中,默认是单例的,也就是说,在同一时刻只有一个SpringOrdinaryClass的单实 ...

  7. SQL:存储过程

    1/什么是存储过程及概念 Transact-SQL中的存储过程,非常类似于.Net语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可 ...

  8. 编译可移植的python

    1. 在低版本系统机器上,编译python: cd Python-2.7.15/Modules vim Setup.dist 修改下述代码: ########### sed -i 's/#SSL=\/ ...

  9. [javaSE] GUI(对话框Dialog)

    对话框不能单独存在,依赖于窗体,有显示标题,有模式 获取Dialog对象,new出来,构造参数:Frame对象,String的标题,模式 窗体内部的内容,Label对象,Button对象,调用Dial ...

  10. 06-码蚁JavaWeb之Servlet生命周期与基本配置

    学习地址:[撩课-JavaWeb系列1之基础语法-前端基础][撩课-JavaWeb系列2之XML][撩课-JavaWeb系列3之MySQL][撩课-JavaWeb系列4之JDBC][撩课-JavaWe ...