黑马程序员+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. 关于php跨域cookie共享使用方法

    A 服务器所在的域:a1.main.com,A 有应用 main.phpB 服务所在的域:b1.test.com,B 有应用 test.php 1.在 main.php 里设置 cookie 的时候, ...

  2. Devexpress VCL Build v2014 vol 15.2.3 发布

    2016年第一个版本,继续修补. New Major Features in 15.2 What's New in VCL Products 15.2 Breaking Changes To lear ...

  3. [珠玑之椟]浅谈代码正确性:循环不变式、断言、debug

    这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分.<编程珠玑>上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇<程序 ...

  4. VC++ 浅谈VS2010中CMFCToolBar的用法

    本文将给大家介绍Visual Studio 2010中CMFCToolBar的用法,CMFCToolBar可以让用户自定义工具栏图标,使用静态成员函数SetUserImages()将一个CMFCToo ...

  5. 企业好助手U-Mail邮件服务器软件

    对于一家企业,最核心的是什么?有人说人才,有人说技术,也有人说是数据(信息),依小编来 看,这些答案都没错,人才会流动,技术在不断更新,唯有数据(信息),日积月累,将沉淀为公司历史的一部分,作为决策的 ...

  6. ORACLE 分组之后容易被忽略的bug

    COL_2 COL_321       3123       31 如上表数据 前台显示显示需要把COL_2的21和23转换成中文 ‘整机’ 最开始如下编写 SELECT t.col_3, CASE ...

  7. Eclipse中Maven项目添加jar包

    各个标签的含义如下: Overview:显示maven项目的一些基本信息Dependencies:添加jar包的页面Plugins:添加maven插件的页面.比如tomcat-maven-plugin ...

  8. VS2013中,RDLC设置数据源和参数的界面

    今天打开RDLC文件设置参数和数据源时,始终找不到那个窗口,原来那个窗口叫“报表数据”,在“视图”菜单的最下面! 另外:要在当前窗口时打开的RDLC文件时,视图下面才有该选项!!! 参考:http:/ ...

  9. 违反并发性: UpdateCommand影响了预期 1 条记录中的 0

    今天遇到这个错误,看到下面这种说法都没解决问题: 1 检查是否设有主键.2 DeleteCommand的问题:检查是否含有自动编号字段(Access的自动编号字段可能会引发此异常):  UpdateC ...

  10. 重置mysql数据库密码相关方法

    方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...