昨天由于一些原因没有上课啦,虽然也看啦一些东西,但是感觉太少也就没有来啦,嘿嘿,今天认真地了解啦winform,学习了一些控件的使用,但是感觉好多属性知道怎么用的,却还是记得不太清楚,感觉看到啦知道,之后可能又会全然忘记啦,虽然这个winform已经不再用啦,但是还想是想好好学习下啦,只怕那天再次遇到啦还要自己在找资料啦,所以我还是详细的总结下啦

一.弹窗

在Form中弹出另外一个窗体,首先建立一个Form窗体,把Form转变为容器改变其属性为IsMdiContainer,改变其属性如下:

    

然后在工具中选取MenuStrip工具,添加其标题,建立其他子窗体:

在父窗体中实现弹窗功能代码如下:

  1. public partial class frmMain : Form
  2. {
  3. public frmMain()
  4. {
  5. InitializeComponent();
  6. }
  7. private void 弹出主窗体ToolStripMenuItem_Click(object sender, EventArgs e)
  8. {
  9. Form2 f2 = new Form2();
  10. f2.MdiParent = this;
  11. Form3 f3 = new Form3();
  12. f3.MdiParent = this;
  13. Form4 f4 = new Form4();
  14. f4.MdiParent = this;
  15. Form5 f5 = new Form5();
  16. f5.MdiParent = this;
  17. Form6 f6 = new Form6();
  18. f6.MdiParent = this;
  19. Form7 f7 = new Form7();
  20. f7.MdiParent = this;
  21. Form8 f8 = new Form8();
  22. f8.MdiParent = this;
  23.  
  24. f2.Show(); f3.Show(); f4.Show();
  25. f5.Show(); f6.Show(); f7.Show();
  26. f8.Show();
  27. }
  28.  
  29. private void 弹出纵向主窗体ToolStripMenuItem_Click(object sender, EventArgs e)
  30. {
  31. this.LayoutMdi(MdiLayout.TileVertical);
  32. }
  33.  
  34. private void 弹出横向主窗体ToolStripMenuItem_Click(object sender, EventArgs e)
  35. {
  36. this.LayoutMdi(MdiLayout.TileHorizontal);
  37. }
  38. }

二.图片控件PictureBox的使用

设计Form窗体如下所示,添加一个PictureBox控件,然后选择添加两个按钮,最好下载一组图片以便于备用,然后实现其点击按钮上一张可以在PictureBox中显示上一张图片,点击按钮下一张,可以再PictureBox中显示下一张图片,代码如下:

  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. }
  7. int i = ;
  8. private void Form1_Load(object sender, EventArgs e)
  9. {
  10. string[] arraypath = Directory.GetFiles(@"G:\image");
  11. this.pictureBox1.Image = Image.FromFile(arraypath[]);
  12. }
  13. private void btnpre_Click(object sender, EventArgs e)
  14. {
  15. string[] arraypath = Directory.GetFiles(@"G:\image");
  16.  
  17. if (i == )
  18. {
  19. this.pictureBox1.Image = Image.FromFile(arraypath[arraypath.Length - ]);
  20. i = arraypath.Length - ;
  21. }
  22. else
  23. {
  24. i--;
  25. this.pictureBox1.Image = Image.FromFile(arraypath[i]);
  26. }
  27. }
  28. private void button2_Click(object sender, EventArgs e)
  29. {
  30. string[] arraypath = Directory.GetFiles(@"G:\image");
  31.  
  32. if (i == arraypath.Length - )
  33. {
  34. this.pictureBox1.Image = Image.FromFile(arraypath[]);
  35. i = ;
  36. }
  37. else
  38. {
  39. i++;
  40. this.pictureBox1.Image = Image.FromFile(arraypath[i]);
  41. }
  42. }
  43. }

三.图片幻灯片形式播放

在Form窗体中选择添加控件PictureBox,然后添加一控件Timer即可,然后设置Timer的属性其属性,实现代码如下:

  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. }
  7. private void Form1_Load(object sender, EventArgs e)
  8. {
  9. string[] arraypath = Directory.GetFiles(@"G:\image");
  10. this.pictureBox1.Image = Image.FromFile(arraypath[]);
  11. }
  12. int i = ;
  13. private void timer1_Tick(object sender, EventArgs e)
  14. {
  15. string[] arraypath = Directory.GetFiles(@"G:\image");
  16. i++;
  17. if (i == arraypath.Length)
  18. {
  19. i = ;
  20. this.pictureBox1.Image = Image.FromFile(arraypath[i]);
  21. }
  22. else
  23. {
  24. this.pictureBox1.Image = Image.FromFile(arraypath[i]);
  25. }
  26. }
  27. }

四.richBox。

简单的说, 比普通textbox多的功能: 可以为每个字设定独立的字体,字号,颜色等..可以添加图片, 可以添加OLD对象.还比textbox多了很多种方法,比如直接打开文件,打印文件等。下面简单的实现下其功能:新建一个Form窗体,然后选择一个richBox控件,在文本框中选择写入一些文本,然后实现其事件,格式以及代码如下:

  1. private void richTextBox1_TextChanged(object sender, EventArgs e)
  2. {
  3. this.richTextBox1.AppendText("我被你写入了这个对话框里面");
  4. }

五.comboBox的使用

combobox在这里使用时间需要注意的是,仅仅能够选择单项。

  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. }
  7. private void Form1_Load(object sender, EventArgs e)
  8. {
  9. string[] strs = {"--请选择下拉项--", "C语言也能干大事","在校不迷茫","毕业即辉煌" };
  10. this.comboBox1.Items.AddRange(strs);
  11. this.comboBox1.SelectedItem = this.comboBox1.Items[];
  12. }
  13. }

六.textbox和webBrowser的简单使用

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. string urlpath = this.textBox1.Text;
  4. Uri uri = new Uri("http://"+ urlpath);
  5. this.webBrowser1.Url = uri;
  6. }

实现输入网址可以打开其网页的功能,例如:打开如鹏网。

七.实现区域的三级分类

在Form窗体上面选择三个textbox即可,然后实现其功能,代码入下:

  1. public partial class Form1 : Form
  2. {
  3. string[] Sheng = { "--请选择省份--", "河南省", "湖南省" };
  4. string[] Henancity = { "--请选择城市--", "郑州", "洛阳", "开封" };
  5. string[] HuNancity = { "--请选择城市--", "长沙", "湘潭", "株洲" };
  6.  
  7. string[] zhengzhouArea = {"高新区","中原区","金水区","管城区","二七区","惠济区","郑东新区","航空港区","经开区" };
  8. string[] changshaArea = {"雨花区","芙蓉区","高桥区","岳麓区","韶山区" };
  9. public Form1()
  10. {
  11. InitializeComponent();
  12. }
  13. private void Form1_Load(object sender, EventArgs e)
  14. {
  15. this.cmbsheng.Items.AddRange(Sheng);
  16. this.cmbsheng.SelectedIndex = ;
  17. }
  18. private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
  19. {
  20. int index = this.cmbsheng.SelectedIndex;
  21. switch (index)
  22. {
  23. case :
  24. this.cmbcity.Items.Clear();
  25. this.cmbcity.Items.AddRange(Henancity);
  26. this.cmbcity.SelectedIndex = ;
  27.  
  28. break;
  29. case :
  30. this.cmbcity.Items.Clear();
  31. this.cmbcity.Items.AddRange(HuNancity);
  32. this.cmbcity.SelectedIndex = ;
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38. private void cmbcity_SelectedIndexChanged(object sender, EventArgs e)
  39. {
  40. int index=this.cmbcity.SelectedIndex;
  41. object selecttext = this.cmbcity.SelectedItem;
  42.  
  43. switch (index)
  44. {
  45. case :
  46. if (selecttext.Equals("郑州"))
  47. {
  48. this.cmbarea.Items.Clear();
  49. this.cmbarea.Items.AddRange(zhengzhouArea);
  50. this.cmbarea.SelectedIndex = ;
  51. }
  52. else if(selecttext.Equals("长沙"))
  53. {
  54. this.cmbarea.Items.Clear();
  55. this.cmbarea.Items.AddRange(changshaArea);
  56. this.cmbarea.SelectedIndex = ;
  57. }
  58. break;
  59. case :
  60. this.cmbarea.Items.Clear();
  61. this.cmbarea.Items.AddRange(null);
  62. this.cmbarea.SelectedIndex = ;
  63. break;
  64. case :
  65. this.cmbarea.Items.Clear();
  66. this.cmbarea.Items.AddRange(null);
  67. this.cmbarea.SelectedIndex = ;
  68. break;
  69. }
  70. }
  71. }

八.用ListBox和PictureBox实现其在ListBox中选择图片的序列,在picturebox中显示图片

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. string[] imagepath = Directory.GetFiles(@"G:\image");
  4. string[] filename=new string[imagepath.Length];
  5. for (int i = ; i < imagepath.Length; i++)
  6. {
  7. string path = Path.GetFileNameWithoutExtension(imagepath[i]);
  8. filename[i] = path+"\r\n";
  9. }
  10. listBox1.Items.AddRange(filename);
  11. }
  12. private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
  13. {
  14. int index = this.listBox1.SelectedIndex;
  15. this.pictureBox1.Image = Image.FromFile(@"G:\image\" + index + ".jpg");
  16. }

结果如下:

九.在messagebox消息框小时选择的listBox的内容

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3. string[] strs = {"","","" };
  4. listBox1.Items.AddRange(strs);
  5. }
  6. private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
  7. {
  8. var selected= this.listBox1.SelectedItems;
  9. foreach (var item in selected)
  10. {
  11. MessageBox.Show(item.ToString());
  12. }
  13. }

其运行结果如下:

好啦,今天在云和学院学习就这些啦,虽然有点多吧,但是在winform这方面也不需要过多的学习吧,所以就讲啦好多啦,只是让我们理解熟悉啦,嘿嘿,winform的学习感觉还好啦,只是在每个控件的属性上面该设置哪个属性估计记得是不太清楚,我想是不熟悉的原因吧。

Winform的学习的更多相关文章

  1. 事件和winform的学习

             记得现在已经不在学习winform啦,可是我们为什么还是学习啦,我感觉就是帮助我们往下一个层次进发啦,因为从控制台直接开始进入webform的学习,我们很难接受啦,估计效率也不高啦, ...

  2. WinForm多线程学习文档

    基础篇 怎样创建一个线程 受托管的线程与 Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 WinForm多线程编程篇 我的多线程W ...

  3. 【转】WinForm多线程学习文档

    源地址:https://www.cnblogs.com/jianglai11/articles/1708330.html 想学习更多,看<Windows 核心编程>

  4. c#winform初学习

    不用思维导图了直接拍照笔记吧..参考视频:传智播客.net第十四天,参考图书c#图解教程第四版(人民邮电出版社) 对对象初始化赋值 工具箱中的每一个控件都相当于一个类 在窗体中拖一个控件就相当于new ...

  5. winForm入门学习

    Windows窗体 属性: name:对象的名称 windowsState:初始化窗体的大小,Normal,Minimized,Maximized StartPosition:窗体起始位置,Manua ...

  6. WinForm 窗体间参数传递

    http://www.cnblogs.com/xinjian/archive/2011/09/15/2177851.html 本人刚刚接触Winform ,学习之后分享下心得. winform 窗体与 ...

  7. .net社区

    英文社区: 名称:MSDN 地址:http://msdn.microsoft.com/zh-cn/default.aspx 描述:这个网站是大家学.Net的初始网站,也是.net方面官方和权威的资料, ...

  8. 简单bat语法

    一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on off}] [message] ...

  9. Technology_Roadmap

    2016年1月23日 前端技术: - HTML CSS JavaScript JQuery 操作系统: - Linux (CentOS) 数据库: - SQLServer MySQL 开源前端框架: ...

随机推荐

  1. 拦截iOS系统导航栏返回按钮事件-三种方法

    方法一:在dealloc里面书写监听事件,因为只有pop才会调用dealloc,push不会掉用 - (void)dealloc {YLLog(@"123"); } 方法二:在- ...

  2. 服务器响应慢的分析与解决(Linux服务器)

    一.分析思路 1.排除本机自身原因 2.服务器性能分析 3.项目本身分析(不详细说) 4.虚拟机分析 5.数据库分析 二.详细分析方法 1.排除本机自身原因 可以使用站长工具测试网站速度. 2.服务器 ...

  3. mysqld.cc启动分析及运行过程(题目取大了,不好意思)

    mysql源文件的压缩文件mysql-5.7.12.tar.gz有48.2Mb,这么大个家伙. 以前学c语言什么的,觉得尼玛个臭c可以干嘛呀,敢看了源文件我彻底震精了,光是一个THD类的说明就占了30 ...

  4. android——inflater 用法(转)

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  5. HIVE中的order by操作

    hive中常见的高级查询包括:group by.Order by.join.distribute by.sort by.cluster by.Union all.今天我们来看看order by操作,O ...

  6. tar -h 参数

    1.1.1 tar命令参数-h,-h参数会把软链接指向的文件也打包. [root@ob2 mytmp]# ll total 8 -rw-r--r--. 1 root root 910 Aug 12 2 ...

  7. TCP/IP和Socket的关系

    要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...

  8. JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对比

    1.什么是JVM?   JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是, ...

  9. ajax传值给php

    test.php <script type="text/javascript"> function selectInput(oSelect) { var value= ...

  10. HTTP/1.1 学习

    发现对于HTTP协议不能脱口而出,故而怒翻资料,RFC2616 . 在其abstract中是这么说HTTP的,应用层协议,generic.无状态.其特点之一是 the typing and negot ...