尽管人们一直说高手都用编写控制台程序,尽管企业都在使用基于Web的应用程序,但我这里依然选择了从Windows窗体入门。原因很简单,我喜欢WinForm应用程序完美的可视化界面。

创建Windows窗体应用程序

根据上一篇中的WinForm版 Hello World的方法,创建一个名为SampleWinFormApp的Windows应用程序。这是最简单、明了的创建方式。也有一些高人通过Nodepad创建,并通过命令行编译执行的,这里不做说明,因为笔者没有那样做过。

在Form1的编辑窗口中,你可以拖拉工具箱中的项到窗口中,在公共控件栏目中的项为总常用的。你可以随意拖几个控件看看运行的效果,实践是检验真理的唯一方法,也是走向编程大门的不二法门。

说说Program.cs

双击打开Program.cs文件,会看到这个文件里面就一个Main方法,学习过C语言的都应该知道,Main方法就是程序的入口,这也不例外。Main方法中有三行代码,前两行貌似是设置窗口样式什么的,不做说明。第三行的用处在于设置运行时的窗口。这里是Form1,如果你的程序中有一个Form2,并且你希望程序运行后进入的界面是Form2,就可以将这里的Form1改为Form2即可。

另外,在Main方法中还可以加入一些系统初始化的内容,例如在这里初始化数据库连接对象、检验程序是否注册等。

说说Control类

Control类是每个控件和窗体的基类,它的核心功能是创建用户所见的界面。

Control类实现向用户显示信息的类所需的最基本功能。它处理用户通过键盘和指针设备所进行的输入。它还处理消息路由和安全。虽然它并不实现绘制,但是它定义控件的边界(其位置和大小)。它提供窗口句柄 (hWnd)……总之,这个Control类可谓功能强大。感兴趣的朋友可以参考MSDN,这里不多赘言。

窗口之间的参数传递示例下载:SampleWinFormApp.rar)

既然要传递参数,自然要新建第二个窗口,右键项目>添加>Windows窗体,如下图:

在添加完成后,将Form1和Form2设计下图:

相信你已经明白这个示例要做的事情了吧,没错,就是对Form1中的名称进行重命名操作。操作流程为:点击“重命名”按钮,打开Form2,在Form2中显示并可修改Form1中的名称,修改完成后点击“确定”按钮,Form1中的名称也会更新。

首先,为窗口中的按钮添加单击事件,可以通过双击按钮本身,也可以在事件列表窗口中找到,并添加。这里的所有名称都采用默认值。

然后就是编程了。这里给出Form1 和Form2 的全部代码:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

this.textBox1.ReadOnly = true; // 设置TextBox1只读
}

private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(this.textBox1.Text);
// 判断是否点击确定按钮
if (form2.ShowDialog() == DialogResult.OK)
this.textBox1.Text = form2.GetNewName();
}
}

public partial class Form2 : Form
{
public Form2(string oldName)
{
InitializeComponent();

this.textBox1.Text = oldName;
}

public string GetNewName()
{
return this.textBox1.Text;
}

private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
}

结束语

记得在刚学习C#窗体应用程序时,在参数传递这一部分浪费了很多时间,最后还是请教老师才搞明白的。其实这里是类的调用,没有面向对象编程基础的朋友可能不理解,在后面的章节中会进一步说明。

如果认为此文对您有帮助,别忘了支持一下哦!

本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2010/05/14/1735697.html,如需转载请自行联系原作者

第02篇:C#星夜拾遗之Windows窗体相关推荐

  1. 第05篇:C#星夜拾遗之使用数据库

    前言 C#常用来开发数据管理类软件,所以学会在C#程序中使用数据库是非常有必要的.目前微软的两个常用数据库软件分别是Access和Sql Server.读者可以自行了解这两种数据库的优劣点,笔者不做过 ...

  2. 32位mysql安装包_《MySQL 入门教程》第 02 篇 MySQL 安装

    文章来源:<MySQL 入门教程>第 02 篇 MySQL 安装 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇我们了解了什么是MySQL数据库. 本文介绍如何在 Window ...

  3. pythonselenium教程模拟鼠标和键盘_【02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!...

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...

  4. 第 02 篇 在 SQL 的世界里一切都是关系

    <SQL 从入门到精通>专栏目录 第 01 篇 和数据打交道的你,一定要学会 SQL 第 02 篇 在 SQL 的世界里一切都是关系 第 03 篇 使用 SELECT 语句初步探索数据库 ...

  5. 高效办公——Excel表格-02篇(if函数常见用法 + 条件格式的使用)

    高效办公--Excel表格-02篇(if函数常见用法 + 条件格式的使用) 1. if单条件简单用法 1.1 简单需求 1.2 实现方法 2. if多条件使用(if-else的情况) 3. if多条件 ...

  6. 【小5聊】C#一键设置桌面壁纸同时叠加今天工作或备注内容到壁纸上(windows窗体篇)

    [实现效果] [简单描述] 这里主要是通过windows窗体来实现,当然你也可以通过web方式来实现,后台代码都是一样的,只是传输的数据方式不一样 为了方便,一打开电脑就知道今天的工作内容或一些备忘录 ...

  7. WebBrowser控件[Windows窗体]之介绍篇

    Windows 窗体控件 WebBrowser 可承载网页,并为应用程序提供 Web 浏览功能. 使用 WebBrowser 控件,可以复制应用程序中的 Internet Explorer Web 浏 ...

  8. Windows窗体学这一篇就够了(C#控件讲解)

    目录 一.Form窗体 1.1窗体的创建和删除 1.添加窗体 2.删除窗体 3.多窗体的使用 1.2.窗体属性 1.2.1更换窗体图标 1.2.2隐藏窗体的标题栏(FormBorderStyle属性) ...

  9. vs 窗体连接mysql_vs2008 c#开发windows窗体程序,怎么连接数据库?

    你的位置: 问答吧 -> .NET -> 问题详情 vs2008 c#开发windows窗体程序,怎么连接数据库? 我的oracle服务器为WebServer数据库为MIS,用户名为MIS ...

最新文章

  1. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.2 内部函数与操作
  2. 在silverlight中通过对话框把选择的图片插入到RichTextBox中
  3. AUC、Precision、Recall、F-measure、Accuracy
  4. IDEA springboot项目中properties配置文件 {针对将对应GBK改为UTF-8并勾选转为ASCII后仍无效情况} 运行时中文乱码解决
  5. python如何修改excel数据库_python修改excel数据库
  6. spring 查找实现类_69道Spring面试题和答案
  7. php文件断点续传,PHP实现文件下载断点续传详解
  8. 北航院系和数字的对应关系
  9. linux - mysql 异常:Ignoring query to other database
  10. 量化人的海市蜃楼:被统计谬误支配的世界
  11. LIBJPEG-TURBO库移植
  12. ##spss软件学习笔记20181031
  13. Mysql 8踩坑之1054(42S22):Unkown column ‘password‘ in ‘field list‘ 与1251- Client deos not support authen
  14. odi连接oracle数据库,ODI Studio 11g 连接Essbase数据源
  15. python的turtle的正六角形简洁画法
  16. 本地计算机出现多个网络连接,电脑网络连接出现感叹号?教你一招解决
  17. 最形象的卷积神经网络详解:从算法思想到编程实现(转载)
  18. 实测拼多多售假小米电视机 商家:不是原厂
  19. firework—烟花源码(01)
  20. 《李开复自传——世界因你不同》——试读章节pdf下载

热门文章

  1. java 向已存在的excel中追加数据 .
  2. 济南计算机机械工程学校,济南电子机械工程学校
  3. 被尘封的故事技能点bug_新月纪元稳定版下载-新月纪元bug修复版1.0 修复版
  4. 单元格自适应宽度_Excel如何对表格进行自适应设置,方法很简单
  5. nodejs shell交互_nodejs调用shell
  6. linux arm内核栈切换,ARM Linux中断发生时内核堆栈切换
  7. git 开源 java_开源中国GIT中Java分类下TOP10项目的活动情况分析
  8. guns java_guns——一个简便的后台管理系统
  9. php任意文件删除漏洞,phpshe后台任意文件删除漏洞及getshell | CN-SEC 中文网
  10. tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总