winform开发_winform开发框架 - CSDN
精华内容
参与话题
  • C# 的 WinForm 开发一、快速入门1.1 注释:二、语法:` 一、快速入门 开发工具: visual studio 2012 创建项目 编写代码 运行 快捷键:c + w + tab x 2 快速打印输出语句 using System; using System.Collections....


    C# 和 Java 的语法比较类似,但是还是会有一点点不同

    一、C# 初体验 & 快速入门

    1.1 环境搭建

    开发工具: visual studio 2012

    创建项目 —> 编写代码 —> 运行

    快捷键:c + w + tab x 2 快速打印输出语句

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("hello World");//带换行的,单独的 Write 就不会换行
            }
        }
    }
    

    按下:ctrl + f5 输出

    源文件: .cs 结尾

    1.2 注释:

    基本注释问题:

    1. // 单行注释
    2. /**/ 多行注释
    3. /// 函数注释

    二、C# 基础语法

    输出语句

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.Write(123);//不换行
                Console.WriteLine("hello World"); // 换行
            }
        }
    }
    
    1. 转义字符
      \n \t " ’

    2.1 数据类型

    两类数据类型,分别为值类型引用类型

    2.1.1 值类型

    • 整形(int、long、short,byte)
    • 字符型(char) 用于表示带个字符,如 ‘y’,'n’等等。必须使用单引号
    • 浮点型(float、double)
      1. 1.0 默认是 double 类型,如果直接赋值给 float 时,会草错
      2. 给 float 赋值时,需要在后面加一个 f,如 flaot a = 12,34f;
    • 布尔型(bool【true、false】)
    • 结构(struct)
    • 枚举(enum)

    String 使用双引号

    2.1.2 引用类型

    String

    • 类类型 (class)
    • 接口类型
    • 委托类型
    • 数组类型

    2.2.1 变量

    变量的使用:

    1. 声明一个变量,根据类型开辟空间
    2. 赋值、将数据存入空间
    3. 使用变量:取出数据使用

    声明变量的语法:

    数据类型 变量
    eg:

    int x;
    double salary;
    bool b;
    
    x = 1;
    salary = 888.88
    b = True
    

    变量声明规则:

    1. 变量由字母、数字、下划线组成,不得有其他字符
    2. 变量首字符必须字母或下划线,建议使用小写字母开头
    3. 变量名对大小写敏感
    4. 变量名不得和关键字同名

    变量命名规范:
    5. 见名知意
    6. 驼峰标识

    成员变量不用赋值,局部变量必须赋值才能用
    int a,b,c = 10; //是错误的

    int a,b,c;
    a=b=c = 10; //声明之后在赋值才可以用

    2.2.2 常量

    程序执行过程中,值不会发生变化的量成为常量。在 C# 中使用 const 关键字定义常量,常量的值是不能改变的

    语法:

    const 数据类型 常量名 =;
    // ========================
    cosnt float pi = 3.1415926f;
    

    2.3 格式化输出

    两种方式输出内容

    1. Console.WriteLine(a);
    2. Console.WriteLine("内容",占位数据);

    eg:

         int r = 5;//半径
         float PI = 3.1415926f;//半径
         float area = PI * r * r;// 圆形的面积
         Console.WriteLine("圆形的面积是:"+area); //使用元素拼接的方法填充数据
         Console.WriteLine("圆形的面积是 :{0},它的半径是 :{1}",area,r);
    

    2.4 输入流

    Console.Read();//写一行数据
    Console.ReadLine(); //输入一个字符串
    int.Parse(Console.ReadLine()) // 输入一个整形数字

    xx.Parse() 进行转换 输入的数据的类型进行转换

    2.5 运算符

    优先级:逻辑>关系>算术>赋值

    基本运算包括

    运 算 符 数 学 含 义 示 例
    + a+b
    - a-b,-b
    * a*b
    / a/b 比如 a =21 b=4 a/b = 5
    % 取模 a%b

    2.5.1 比较运算符

    运 算 符 描 述 示 例
    < 小于 a<b
    > 大于 a>b
    <= 小于等于 a<=b
    >= 大于等于 a>=b
    = 等于 a == b
    != 不等于 a!=b

    2.5.2 逻辑运算符

    运 算 符 描 述 示 例
    && a && b
    !a
    || a || b

    2.5.3 自增自减运算符

    C# 中规定,从左到右尽可能多的符号组成运算符

    2.5.4 数据类型转换

    int a;
    a = 10
    float b = (float)a;
    
    int.Parse() //可以将输入的字符串转换为整形
    
    char s = (char)a;//将a对应的ascll 码打印出来
    

    2.6 流程控制

    2.6.1 顺序结构

    从上到下的顺序结构

    2.6.2 条件结构

    1. 单分支 (if 结构)

    输入一个数,输出它的绝对值

      static void one()
            {
                int n;
                Console.WriteLine("请输入一个整数:");
                n = int.Parse(Console.ReadLine());
                if (n < 0)
                {
                    n = 0 - n;
                }
                Console.WriteLine("它的绝对值是:"+n);
    
    1. 多分支 if-else-else if

    输入一个数,判断它的大小

                int a, b;
                Console.WriteLine("请输入两个数字,输出它们的大小关系");
                a = int.Parse(Console.ReadLine());
                b = int.Parse(Console.ReadLine());
                if (a > b)
                {
                    Console.WriteLine("a 大于 b");
                }
                else if (a < b)
                {
                    Console.WriteLine("a 小于 b");
                }
                else
                {
                    Console.WriteLine("a 等于 b");
                }
    
    1. switch-case
    • 类型可以是 int、char、string类型
    • case 中常量表达式的值不能相同,类型同样是 int、char、string

    T1: 输入等级,判断薪水

            static void Salar()
            {
                Console.WriteLine("请输入等级,使用大写字母代替,输出对应的薪水");
                char n = char.Parse(Console.ReadLine());
                switch (n)
                {
                    case 'A':
                        Console.WriteLine("A等级的薪资在 10000 左右");
                        break;
                    case 'B':
                        Console.WriteLine("B等级的薪资在 8000 左右");
                        break;
                    case 'C':
                        Console.WriteLine("C等级的薪资在 6000 左右");
                        break;
                    default:
                        Console.WriteLine("剩下人的薪资都在 5000 以下");
                        break;
                }
    

    T2: 输入符号类型,进行相对应的运算

            static void Cacluator()
            {
                int a, b;
                Console.WriteLine("请输入第一个数字");
                a = int.Parse(Console.ReadLine());
                Console.WriteLine("请输入第二个数字");
                b = int.Parse(Console.ReadLine());
                Console.WriteLine("请输入符号");
                char s = char.Parse(Console.ReadLine());
                switch (s)
                {
                    case '+':
                        Console.WriteLine("{0}+{1}={2}",a,b,a+b);
                        break;
                    case '-':
                        Console.WriteLine("{0}-{1}={2}", a, b, a - b);
                        break;
                    case '*':
                        Console.WriteLine("{0}*{1}={2}", a, b, a * b);
                        break;
                    case '/':
                        Console.WriteLine("{0}/{1}={2}", a, b, a / b);
                        break;
                    default:
                        Console.WriteLine("你输入的有问题,请重新输入!!!");
                        Cacluator();
                        break;
                }
    
    1. 三元运算符
    语法: 表达式1 运算符  表达式2 ? 结论1 : 结论2;
    
    1. 运算符可以是 标准运算符,即加减乘除,也可以是比较运算符,还可以使用逻辑运算符
    2. 当比较结果为真时,返回结论1,否则为结论2

    eg1: 判断两个数字的大小

            static void maxNum()
            {
                int a, b;
                Console.WriteLine("输入第一个数字");
                a = int.Parse(Console.ReadLine());
                Console.WriteLine("输入第二个数字");
                b = int.Parse(Console.ReadLine());
                int max = a > b ? a : b;
                Console.WriteLine("比较大的数字为:{0}",max);
            }
    

    2.6.3 循环结构

    四种循环结构:

    1. while 循环
    2. do-while 循环
    3. for 循环
    4. foreach 循环
    (1) while 循环

    两种类型:

    1. 类型一
     while(循环条件){
    	循环操作
    }
    
    1. 类型二
    do{
    	循环操作
    }while(循环条件);
    
    (2) for循环
    for(表达式1,表达式2,表达式3){
    	循环操作;
    }
    
    (3) foreach循环

    2.7 数组

    调试

    断点
    单独执行 F5 调试, 结束调试 shift + f5

    F10 单独执行

    展开全文
  • C# WinForm开发框架

    万次阅读 多人点赞 2012-10-19 07:36:47
    自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类 里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去...

    自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类
    里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去读取这个DLL文件里面的信息,包括窗体名称,版本等,最后将设个窗体Show出来,Show出来的时候是使用的WeifenLuo.WinFormsUI.Docking。看上去貌似没什么问题,但是每次New一个窗体的时候就要New一个对应的类,那么有几百个窗体呢?那项目将会大的惊人,所以放弃了这种做法,经过一段时间的构思,大致的框架结构出来了,我比较了一下,功能完全相同的两个项目,用之前的方法和我现在的方法相比较,前者的大小是后者大小的6倍。
    首先我需要使用DockContent来实现窗体的停靠,其次我需要使用XtraForm的样式风格(IrisSkin2.dll真的是不好用,样式单调不说,应用了样式之后连控件的属性都设置不了了),大家都知道是不能多继承的,所以自己写一个类FrmBase,直接上图,

    更多文章:http://www.cnblogs.com/allen0118

     web.e-mts.cn

    关注公众号,了解更多资讯

     

    展开全文
  • Winform开发框架之终极应用

    千次阅读 2018-08-02 12:03:27
    在前面两篇随笔,都围绕着我的Winform开发框架介绍一些重要的组件,如字典模块封装《Winform开发框架之字典数据管理》和权限管理系统模块封装《Winform开发框架之权限管理系统》。本框架主要的
    原文地址为:Winform开发框架之终极应用

    在前面两篇随笔,都围绕着我的Winform开发框架介绍一些重要的组件,如字典模块封装《Winform开发框架之字典数据管理》和权限管理系统模块封装《Winform开发框架之权限管理系统》。本框架主要的功能如下面的图示所介绍的内容:包括紧密结合Database2Sharp强大的一键解决方案代码生成工具、高度抽象继承及使用泛型支持多数据库的开发框架、集成权限管理系统模块、集成字典数据管理模块、集成强大的分页控件、集成OutLookBar界面控件、集成多文档界面Weifengluo布局控件、集成美观实用的登陆界面、闪屏展示界面、托盘缩小提示功能、全局运行一次实例限制模块代码、集成多年积累公共组件简化常用功能操作、集成Apose.Cell基于模板自定义报表快速生成复杂报表模块、众多美观使用的界面控件整合等等。

     

     

    该框架是集多年Winform开发经验及总结之大成,及众多博客随笔精华于一身,不断完善,不断改进,当然,框架不能形而上学而存在,因此通过本人最近一次完善的仓库项目并经过多次锤炼的成果进行展示。

    本框架目标是确保开发者能够拿过来就用,拿过来只需要添加自己额外的业务界面功能即可,不需要重复开发基础功能模块和相关界面处理,尽可能的节省开发时间,并迅速给阁下的客户展示美观、完善、强大的界面及功能,快速完成一个复杂的项目为目标。

     



     

     
     
     


    软件框架界面采用了众多功能的集成,因此对于有意学习Winform开发的人来说,虽然不是一本Winform开发百科全书,但也是一部不可多得的代码宝库,在众多地方都可以找到相应的解决方法,对于想快速、高效开发规范、稳定的项目的人来说,在这个不错的框架上搭建业务应用,更是事半功倍。

    该开发框架项目演示程序可以随意下载研究,但源码有偿提供不免费赠送,需要者可以和我联系,或者可以一起沟通讨论相关的内容。

    演示程序下载地址如下:http://files.cnblogs.com/wuhuacong/DeviceMis.rar


    转载请注明本文地址:Winform开发框架之终极应用
    展开全文
  • winform开发框架介绍

    千次阅读 2018-06-12 10:01:30
    转载winform开发框架,尽量减少程序员在界面中的代码量和工作量,Model自动生成,界面以及控件自动生成,简单的逻辑自动生成。自动生成的界面已经实现简单逻辑增删改查功能。其他开发框架都已经或多火烧实现了这些...

    转载

    winform开发框架,尽量减少程序员在界面中的代码量和工作量,Model自动生成,界面以及控件自动生成,简单的逻辑自动生成。自动生成的界面已经实现简单逻辑增删改查功能。

    其他开发框架都已经或多火烧实现了这些功能,如果代码生成工具是VS插件呢,省去了复制粘贴加载项目步骤,是不是有点小惊喜?来感受下吧:

    项目插件

    项插件:

     

     

    框架总概括图:

    .net开发框架

    框架下载地址:链接:http://pan.baidu.com/s/1kT3t8Gn 密码:xnzo

    share Demo源码地址:https://github.com/GarsonZhang/GZFramework.ShareDemo

     

    框架全部源码概图:

    image

    数据库支持多种数据库,如果需要外部DLL的数据库,除了引用相关dll外,比如Sqlite,Oracle需要配置Appconfig

    image

    image

     

    注意type值一定要和引用的DLL对应,获取方法:

    Assembly.LoadFile(AssemblyFileName).ToString()

     

    主界面演示:

     

    代码生成器插件简单演示:

     

     

    框架下载地址:链接:http://pan.baidu.com/s/1kT3t8Gn 密码:xnzo

    share Demo源码地址:https://github.com/GarsonZhang/GZFramework.ShareDemo




    展开全文
  • Winform开发小例

    2019-04-16 15:13:44
    1. 理解“Windows 窗体应用程序”项目中Program.cs文件中的main方法与传统C++Console控制台程序中的main方法的区别。从程序运行层次上讲,两者无区别,都是程序的入口点,属于进程中的第一个线程。...
  • Winform开发框架DevExpress的应用

    万次阅读 2018-05-11 10:53:38
    做了好多年Winform的程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计总是会...
  • C# WinForm开发系列

    千次阅读 2017-02-15 18:36:54
    C# WinForm开发系列 - CheckBox/Button/Label/ProgressBar http://www.cnblogs.com/peterzb/archive/2009/06/07/1498173.html WinForm下CheckedListBox的数据绑定 ...
  • winform开发框架

    热门讨论 2012-07-11 19:26:11
    一个高手写的winform开发框架
  • c#winform开发框架

    热门讨论 2012-05-05 00:47:39
    一款还不错的C#winform开发框架,对于想学习C#框架的初学者来说,是很值得借鉴的
  • Winform开发框架之框架演化

    千次阅读 2018-09-15 18:12:14
    国庆去了一趟北京,回来一直忙着各种各样的事情,有公司的,有个人的,就没停过来,所以很久没有写博客了,写博客要有一个好的心情及一个好的思路,否则宁愿不写,这是我的准则。虽然这段时间没有写博客分享各种经验
  • Java Winform 开发 技术要点 记录

    千次阅读 2012-11-09 16:55:34
    很早之前写了一个批量导入excel数据到Oracle的程序,成批导入,每批都有一个不同的上级编码,每导入一批,都要动手修改程序代码... 批量导入过程中,这些excel的名字是需要和数据库中存的名字保持一致,否则就找...
  • WinForm开发经典图标素材 在设计中可以给予很大的帮助
  • 从事Winform开发框架的研究和推广,也做了有几个年头了,从最初的项目雏形到目前各种重要特性的加入完善,是经过了很多项目的总结归纳和升华,有些则是根据客户需要或者应用前景的需要进行的完善,整个Winform开发...
  • WinForm开发经典图标素材 3870个图标

    热门讨论 2016-05-04 13:53:36
    WinForm开发经典图标素材 3870个图标
  • 1,每次打开VS2008开发的时候,就会想着拖拽怎样的窗体,很费时间;比如我只想写个窗体,然后能有个像样的架子展现出来,比如有菜单、有tabpage来显示dome、有菜单和状态栏什么的。 2,然后呢,刚好要给写个K3补充...
  • C# Winform 开发资料汇总

    千次阅读 2013-08-29 15:51:03
    该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm一直比较感兴趣,这几年积累收藏了不少...
  • 提醒:原帖可能会更新,随时关注原帖该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm...
  • 随着时间的推移,Winform也算是能够坚持下来最久的技术之一了,它的昔日辉煌和现今的依旧活跃,导致了它依旧拥有者很庞大的用户群体,虽然目前很多技术日新月异的,曾经的ASP、ASP.NET WebForm、Asp.NET MVC、WPF等...
  • VS2017 winform开发知识点汇总

    千次阅读 2019-03-20 06:28:33
    VS2017 winform开发知识点汇总1 快捷键2 控键缩写3 控件属性4 编译dll文件5 一个界面类对应多个cs文件 1 快捷键 2 控键缩写 3 控件属性 4 编译dll文件 5 一个界面类对应多个cs文件 ...
  • Winform 开发系统整体布局

    千次阅读 2010-08-29 07:14:00
    Winform 开发系统整体布局
1 2 3 4 5 ... 20
收藏数 42,725
精华内容 17,090
关键字:

winform开发