黑马程序员+Winform基础

---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!-------------

  1. 控件:Button 按钮,TextBox 文本框, Label 标签,RadioButton 单选按钮,CheckButton 复选框 ,ListBox 列表框  ,PictureBox 图片框,ComboBox 下拉列表框
  2. 属性:Text:文本框中输入的值 ,Name:通过name来操作对象,Form.Text:窗体的标题,ForeColor:前景色,TextAlign:文本对齐,Image 图片,PasswordChar:密码文本 ,MultiLine 多行文本,Items 数据项,DropDownStyle:控制组合框的外观和功能,SelectItem 选中的项,SelectIndex 选中项的索引
  3. string.Format(“{0},你好”,textBox1.Text); //设置输出格式
  4. 方法:Form.Hide():对象隐藏,TextBox. AppendText()附加文本,
  5. 事件:Click:点击, SelectedIndexChanged 选择项发生改变

6.练习:求和
/// <summary>

/// 求和

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void btnAdd_Click(object sender, EventArgs e)

{

string num1 = txtnum1.Text;

string num2 = txtnum2.Text;

int i1,i2;

if (!int.TryParse(num1,out i1))//转换成int

{

MessageBox.Show("第一个数不合法!");

txtnum1.Text = "";//数字不合法,清空文本框

}

            else if (int.TryParse(num2, out i2) == false)

{

MessageBox.Show("第二个数不合法!");

txtnum2.Text = "";

}

else

{//求和输出

txtsum.Text = (i1 + i2).ToString();

}

}

7. 练习:核对Email,分析出用户名和域名
/// <summary>

///       核对Email,分析出用户名和域名

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button1_Click(object sender, EventArgs e)

{

string email = txtEmail.Text;

string[] str = email.Split('@');

if (str.Length!=2)

{

MessageBox.Show("Email不合法");

txtEmail.Text = "";

}

else

{

MessageBox.Show(string.Format("用户名:{0} , 域名:{1}",str[0],str[1]));

}

}

8. 练习:两个数的累加
          /// <summary>

/// 累加

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button2_Click(object sender, EventArgs e)

{

string num1 = textBox1.Text;

string num2 = textBox2.Text;

int i1, i2,sum=0;

if (!int.TryParse(num1,out i1))

{

MessageBox.Show("第一个数非法");

textBox1.Text = "";

}

else if (!int.TryParse(num2,out i2))

{

MessageBox.Show("第二个数非法");

textBox1.Text = "";

}

else

{ //判断

if (i1>=i2)

{

MessageBox.Show("第一个数必须小于第二个数");

textBox1.Text = "";

textBox2.Text = "";

}

else

{//累加

for (int i = i1; i <= i2; i++)

{

sum += i;

}

MessageBox.Show(string.Format("{0}累加到{1}和为{2}", i1, i2, sum));

}

}         

}

9 .练习:

/// <summary>

/// 查看图片(满18岁可查看)

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button5_Click(object sender, EventArgs e)

{

string id = textBox4.Text;

//验证输入的身份证是否合法

if (id.Length!=18)

{

MessageBox.Show("身份证输入不合法");

textBox4.Text = "";

}

else

{//判断是否成年

if (DateTime.Now.Year-Convert.ToInt32(id.Substring(6,4))>18)

{

pictureBox1.Visible = true;

}

else

{

pictureBox1.Visible = false;

MessageBox.Show("年龄太小!");

}

}

}

10.练习:
        /// <summary>

/// 向左移动

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button3_Click(object sender, EventArgs e)

{

string str = textBox3.Text;

this.textBox3.Text = str.Substring(1)+str.Substring(0,1);

}

/// <summary>

/// 向右移动

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button4_Click(object sender, EventArgs e)

{

string str = textBox3.Text;

this.textBox3.Text = str.Substring(str.Length-1)+str.Substring(0, str.Length - 1);

}

11.+=与appendText的区别
        /// <summary>

/// 附加文本

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button6_Click(object sender, EventArgs e)

{

//textBox5.Text += DateTime.Now+"\r\n";//用于数据量小

textBox5.AppendText(DateTime.Now.ToString()+"\n");//数据量大

}

12.练习:登录错三次不让再登录
              /// <summary>

/// 登录,失败超过3次后退出

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private  int errorTime = 0;

private void btnsubmit_Click(object sender, EventArgs e)

{

string userName = txtname.Text.Trim();

string pwd = txtpwd.Text.Trim();

if (userName.Equals("admin", StringComparison.OrdinalIgnoreCase)&&pwd.Equals("888888"))

{

MessageBox.Show("登录成功!");

}

else

{

errorTime++;//不能用局部变量,用类字段才可达到计数的功能

if (errorTime>=3)

{

MessageBox.Show("错误三次,不允许再登录!");

//this.Close();

Application.Exit();//退出程序

}

else

{

MessageBox.Show("登录失败!");

}

}

}

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

黑马程序员+Winform基础(上)的更多相关文章

  1. 黑马程序员+Winform基础(下)

    ---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android ...

  2. 黑马程序员+SQL基础(上)

    黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...

  3. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  4. 黑马程序员_Java基础:网络编程总结

    ------- android培训.java培训.期待与您交流! ---------- Java语言是在网络环境下诞生的,它是第一个完全融入网络的语言,虽然不能说它是对支持网络编程做得最好的语言,但是 ...

  5. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  6. 黑马程序员_Java基础组成

    Java语言基础组成 2.1关键字 main不是关键字,但被JVM所识别的名称. 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有字母都为小写. 用于定义数据类型的关 ...

  7. 黑马程序员_Java基础视频-深入浅出精华版--PPT 文件列表

    \day01\code\第一章_Java概述.ppt;\day01\resource\资料\50道编程题(有精力的同学看看).doc;\day01\resource\资料\Sun_Java程序员认证考 ...

  8. 黑马程序员_Java基础:IO流总结

    ------- android培训.java培训.期待与您交流! ---------- IO流在是java中非常重要,也是应用非常频繁的一种技术.初学者要是能把IO技术的学透,java基础也就能更加牢 ...

  9. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

随机推荐

  1. jQuery 中 data 方法的实现原理

    前言:jQuery 作为前端使用最多最广泛的 JS 库,其源码每个 JSer 都应该研究一下.早就打算看却一直被各种事拖着,上次某公司面试时被问到 jQuery 中 data 方法是如何实现的,结果答 ...

  2. SQL Server添加MDW性能监控报表(转载)

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...

  3. 【EF学习笔记05】----------DBContext基础查询

    遍历所有实体 //遍历所有学生 DBSet using (var db = new Entities()) { foreach (var student in db.Student) { Object ...

  4. 借助 MySQLTuner 优化 MySQL 性能(转载的一篇文章)

    MySQLTuner 是一个 Perl 脚本,可以用来分析您的 MySQL 性能,并且基于收集到的信息给出相应的优化建议.这样子,您就可以调整 my.cnf 从而优化您的 MySQL 设置. 这边只是 ...

  5. Redis 的Lua Script脚本功能

    从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以使用 EVAL 命令对 Lua 脚本进行求值 Redis2.6内置的Lua Script支持,可以在Redis的Server端一次 ...

  6. ngx.lua中遇到的小问题

    作者: 胡 志伟 分类: ngx_lua, 开发代码 发布时间: 2013-09-26 08:40 ė 6评论关闭 在使用ngx.redirect 到一个新的地址时,错误日志提示: lua entry ...

  7. proc文件系统在内核中的表现

    当Linux内核启动起来之后,我们可以通过proc虚拟文件系统来查看内的中的一些动态信息. 例如:可以 cat  /proc/misc  来查看系统中装载的所有misc类设备 cat  /proc/d ...

  8. 了解 XSS 攻击原理

    在了解 XSS 之前必须知道『网站登入(Session)』的原理 简单的说当会员成功登入后 网站会给浏览器一个『令牌』 之后只要拿着这个『令牌』到网站上 就会被视为已经登入 再来下面是 XSS 最简单 ...

  9. java基础十[包、Jar存档文件和部署](阅读Head First Java记录)

    将Java的class文件生成为可执行的Java应用程序.Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序):完全在服务器端远程执行的(例如浏览器来进行存取):介于两者之间的 ...

  10. 第三十六章 metrics(4)- metrics-graphite

    将metrics report给graphite(carbon-relay) 一.代码 1.pom.xml <!-- metrics-graphite --> <dependency ...