winform_winforms - CSDN
winform 订阅
WinForm是·Net开发平台中对Windows Form的一种称谓。 展开全文
WinForm是·Net开发平台中对Windows Form的一种称谓。
信息
操作方便
新的数据提供程序管理
使用安全
利用公共语言运行库的安全特性
中文名
Winform
特    点
功能强大
Winform特点
Windows窗体的一些重要特点如下:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2以及Oracle等。Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安 WinForm(3张) 装的完全可信的应用程序。
收起全文
精华内容
参与话题
  • C#Winform窗体与界面设计

    千人学习 2018-11-08 16:22:16
    本课程是针对C#Winform开发人员的基础性课程,详尽的介绍C#Winform窗体与界面的设计,通过提供实例,让C#Winform开发人员掌握相关程序设计技巧,为后面学习完整的实战课程打下较好的基础。
  • C#之WinForm——基础知识

    千次阅读 2019-06-06 11:40:56
    MessageBox的几种常见用法第一种第二种第三种第四种第五种 第一种 MessageBox.Show("你确定想要删除吗?"); 第二种 MessageBox.Show("你确定想要删除吗?", "提示");...if (MessageBox.Show("你确定想要删除吗?...

    MessageBox的几种常见用法

    1. 简单
    MessageBox.Show("你确定想要删除吗?");
    

    在这里插入图片描述
    2. 增加上面提示标题

    MessageBox.Show("你确定想要删除吗?", "提示");
    

    在这里插入图片描述
    3. 增加取消按钮

    if (MessageBox.Show("你确定想要删除吗?", "提示",
       	MessageBoxButtons.OKCancel) == DialogResult.OK)
       	{
       		// delete
       	}
    

    在这里插入图片描述
    4. 增加图标

    if (MessageBox.Show("你确定想要删除吗?", "提示", MessageBoxButtons.OKCancel, 
       MessageBoxIcon.Question) == DialogResult.OK)
        {
          //delete
        }
    

    在这里插入图片描述
    5. 定义默认选择取消

    if (MessageBox.Show("你确定想要删除吗?", "提示", MessageBoxButtons.OKCancel, 
    	MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) 
    	== DialogResult.OK)
         {
          //delete
         }
    

    在这里插入图片描述

    事件参数object sender, EventArgs e的理解

    参数sender

    sender表示触发事件的那个控件。若同一类控件处理方法相同,可以只写一个事件处理。(如:多个Button处理方法相同)就需要用到sender这个参数,这时需要把sender转换为相应类型的控件即可。
    如:TextBox textbox = sender as TextBox;

    例:四个Button单击,显示Button内容

    private void button1_Click(object sender, EventArgs e)
           {
               Button mybtn = sender as Button;
               MessageBox.Show(mybtn.Text);
           }
    

    参数e

    e参数包含了事件所携带的信息,它用来辅助处理事件。
    若e不是EventArgs 类本身,而是其子类(如:KeyPressEventArgs e),那么在写事件过程的时候往往会用到该对象e的属性或方法。如:e.Handled、 e.KeyChar。

    例:控制文本框只能输入数字、.或退格键。
    PS:e.Handled=true表示阻止输入字符, e.KeyChar表示用户输入的字符

    private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar >= '0' && e.KeyChar <= '9')
                {
                    e.Handled = false; //不阻止,表示输入的是数字,则可以输入
                }
                else
                {
                    if ((e.KeyChar == '.') || e.KeyChar == '\b')
                    {
                        e.Handled = false; //表示退格键或.可以输入
                    }
                    else
                    {
                        e.Handled = true; //其他阻止,即是不可以输入
                    }
                }
    }
    

    遍历窗体控件

     foreach (Control item in this.Controls)
                {
                    if (item is TextBox) 	// 清空TextBox内容
                    {
                        item.Text = "";
                    }
                    if (item is RadioButton)	// 重置RadioButton(选择男)
                    {
                        RadioButton r = (RadioButton)item;
                        r.Checked = false;
                        rdMale.Checked = true;
                    }
                    if (item is CheckBox)	// 重置CheckBox
                    {
                        CheckBox ck = (CheckBox)item;
                        ck.Checked = false;
                    }
                }
    

    ListBox列表框常用属性

    • Items属性
      — Items .Add(object item) 向选项列表添加选项(添加一项)
      —Items .AddRange(object[] items) 向选项列表添加选项(添加多项)
      —Items .Remove(object value) 从集合中移除指定对象
      —Items .RemoveAt(int index) 移除集合中指定索引的项
      —Items .Insert(int index, object item) 向选项列表添加选项(添加到指定位置)
      —Items .Clear() 清除列表框的所有项
      —Items[int index] 获取或设置集合中指定索引处的项
      —Items .Count() 获取集合中的项数

    例:listBox1.Items.Add(“aa”);
    例:listBox1.Items.AddRange(new string[] {“aa”, “bb”});
    例:listBox1.Items.Remove(“aaa”);
    例:listBox1.Items.RemoveAt(0);
    例:listBox1.Items.Insert(1, “bbb”);
    例:listBox1.Items.Clear();
    例:listBox1.Items[0] --> “aaa”
    例:listBox1.Items[0] = “aaa”;
    例:listBox1.Items.Count(); --> 3

    • SelectedItems属性
      获取包含在当前选定的项的集合
      —SelectedItems.Count 表示被选择的项目的数目
      —SelectedItems[i] 根据指定索引获取被选择的项,即获取被选择的i项

    例:listBox1.SelectedItems.Count // 10个里面选择了3个 则值为3
    例:listBox1.SelectedItems[2] // 从被选择的3个里面,取第三个的值

    • SelectedItem属性
      获取或设置当前被选择的1项

    例:listBox.SelectedItem // 获取选择中的第一项的值
    例:listBox.SelectedItem = “aaa” // ????

    • SelectedIndex
      获取或设置选中项的索引(从0开始)

    例:listBox.SelectedIndex --> 2 (选择了第3、5、6条数据)
    例:listBox.SelectedIndex = 2 // 将第3条数据设置为选中状态

    TreeView控件

    —TreeNode tn1 = new TreeNode(string text, TreeNode[] children) 设置节点
    —treeView1.Nodes.Add(string text / TreeNode node) 添加节点
    —treeView1.SelectedNode.Level 获取深度
    —treeView1.ExpandAll() 展开所有节点

    展开全文
  • winform基础

    千人学习 2018-10-22 21:38:06
    第一讲 winform课程介绍(完结) 第二讲 Windows编程基础-hello world(完结) 第三讲Windows编程基础-常用控件(完结) 第四讲 多文档界面MDI处理和菜单组件(完结) 第五讲 Windows控件-单选、复选、图片控件...
  • Winform常用控件的使用(一)

    万次阅读 2018-06-30 00:48:19
    1.按钮控件1.1 单选按钮单选按钮(RadioButton)控件可以显示文本或图像,也可以同时显示文本和图像,单选按钮一般用来提供给客户在一组选择项中选择一项。在一个控件容器中的所有单选按钮视为一组,直接在窗体 Form...
    1.按钮控件
    1.1 单选按钮

    单选按钮(RadioButton)控件可以显示文本或图像,也可以同时显示文本和图像,单选按钮一般用来提供给客户在一组选择项中选择一项。在一个控件容器中的所有单选按钮视为一组,直接在窗体 Form 上放置的单选按钮将自动成为一组,这时,窗体就是容器。

    使用单选按钮时往往伴随着使用 GroupBox 控件或 Panel 控件,这两个控件非常简单,在窗体上表现为一个矩形区域,作为单选按钮的容器将不同组的单选按钮分开。

    (1)创建一个程序。在窗体设计器视图中添加一个文本框控件,一个分组框控件和两个单选按钮控件。

    (2)各控件属性设置如表

    控件对象名称属性名称属性值描述
    RadioButton1/RadioButton2Checkedfalse未选中
     Font黑体黑字体
    textBox1Font宋体,18pt宋体,小二
    groupBox1Text字体设置单线按钮的容器

    添加按钮的默认事件CheckedChanged,事件代码。

    1      private void radioButton1_CheckedChanged(object sender, EventArgs e)
    2       {
    3            if(radioButton1.Checked==true)                        //判断是否被选中
    4            {
    5                textBox1.ForeColor = Color.Blue;                    //设置颜色为红色
    6            
    7            }
    8        }
    9
    10
    11        private void radioButton2_CheckedChanged(object sender, EventArgs e)
    12        {
    13            if (radioButton2.Checked == true)        
    14            {
    15                textBox1.ForeColor = Color.Red;
    16            }

    17        }

    代码1到7行是第一个单选按钮的改变事件,第3行是判断是否被选中】,如果被选中则设置字体颜色为红色,11行到17行是第二个单选按钮改变事件,第13行判断第二个按钮是否被选中。运行程序。


    程序使用GroupBox 控件作为单选按钮的容器。在这一组单选按钮中,如果把其中一个单选按钮的 Checked 属性值为 true,那么另外的单选按钮的 Checked 属性值会自动变成 false。

    1.2 复选框控件(CheckBox)

    复选框和单选按钮控件的功能相似,允许用户从选择项列表中进行选择。不同之处在于,复选框可以选定多个 CheckBox 控件

    在上一个例子的基础上,再添加一个分组和两个复选框

    添加复选框的默认CheckedChanged 事件



    效果图


    选中粗体:选中粗体在选中下划线,选中粗体不选中下划线,不选粗体选中下划线,两者都不选。

    选中下划线:选中下划线再选中粗体,选中下划线不选中粗体,不选下划线选中粗体,两者都不选。

    2.图片控件

    2.1 图片框(PictureBox)

    该控件用来在控件上显示一张图片。通常使用图片框来显示BMP、ICON、JPEG、GIF、PNG、JPG 等文件中的图形,可以通过设置图片属性的Image 属性来显示图片,还可以通过设置图片框的 SizeMode 属性来控制图片的显示模式 ,属性 SizeMode  的枚举值如下所示:

    • AutoSize:图片控件调整自身大小,是图片正好完全显示在图片框中。

    • CenterImage:如果图片框比图像大,则图像将居中显示。如果图片比图片框大,则图片将位于图片框中心,而外边缘将会被剪裁掉。

    • Normal:图片被置于图片框的左上角,如果图片比图相框大,则该图像将会被剪裁掉。

    • StretchImage:拉伸或收缩图片框中的图片,以适合图片框的大小。

    • Zoom:控制图片大小按原有的大小比例扩大或缩小。

    还可以通过设置图片框的 BorderStyle 属性来设置图片框的边框样式。

    属性 BorderStyle  枚举值如下:

    • None:表示没有边框。

    • FixedSingle:表示单线边框。

    • Fixed3D:表示立体表框。

    可以通过创建一个 Bitmap 实例并将赋值给图片控件的 Image 属性来实现图片显示。

     pictureBox1.Image = new Bitmap("D:\\MyDownloads\\51bOOOPICc3_1024.jpg");

    程序中出现的路“ D:\\MyDownloads\\51bOOOPICc3_1024.jpg ”中的\\表示一个反斜杠,如果转义字字符开头前面就加一个\,路径也可以这样描述:"@D:\MyDownloads\51bOOOPICc3_1024.jpg"

    还可以通过 Image 类的静态方法 FromFile() 获取图像文件,并将其赋值给图片框控件的 Image 属性来实现显示图片。

    pictureBox1.Image = Image.FromFile("D:\\MyDownloads\\51bOOOPICc3_1024.jpg");

    默认情况下,图片框控件在显示时没有任何边框,即时图片框不包含任何图像,仍可以使用 BorderStyle  属性提供一个标准或三维的边框,一边使图片框与窗体的其余部分区分,图片框不是可选择的控件,这意味着该控件不能接受输入焦点。

    2.2 图片列表框控件(ImageList)

    该控件不是用来显示图片而是用来保存图片文件的,相当于一个图片容器,其本身并不显示在窗体上,通常由其他控件使用,如Lable、Button、ListView、TreeView、ToolBar等。一般将BMP、JPG、ICON等图片文件添加到ImageList 控件中,其他控件在需要时直接调用这些图像,而无需从文件中查找。

    在.NET中,也可以不使用图片列表框让每个控件在其内部保存对象,但这样效率很低,因为不允许多个控件同时访问一张图片——每个需要图像的控件都必须自己保存图像。

    图片列表控件常用的属性

    • Images: ImageList中所有图片组成的集合。

    • ImageSize:ImageList中每张图像的大小,有效值在1~256之间,默认值是16×16。

    • ColorDepth:标识图片每个像素占用几个二进制,值越大,图片质量越好,占用的存储控件越大。

    • TranparentColor:用来指定某个颜色为透明色,默认值为白色。

    建立图片列表控件首先从工具箱把 ImageList 添加到窗体,选中 ImageList 控件后再属性 窗口中选择 Images属性并单击后面的链接按钮,将弹出“”图像集合编辑器“”如图


    单击“”添加“”按钮,在弹出的“打开”窗口中选取图像文件,图像集合编辑器的右边栏为目前所选取图片的信息,这样就将图片添加到图片列表框中了,图片列表框的作用并不在于此控件本身所提供的属性和方法,而在于能够被其他控件所连接,使其他控件可以访问图片列表框中所存储的图片。

    OVER

    励志文字:人在世的时候,以为来日方长什么都有机会,其实人生是减法,见一面,少一面。

    展开全文
  • winform开发框架介绍

    万次阅读 热门讨论 2017-11-05 19:51:50
    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 下载

    2014-12-27 02:29:37
    winform 下载 方法一: WebClient webClint = new WebClient(); webClint.DownloadFile(下载文件的路径,下载到本地的地址); 方法二:异步 WebClient webClint;  float maxSpeed = 0;  float ...

    winform 下载

    方法一:

    WebClient webClint = new WebClient();

    webClint.DownloadFile(下载文件的路径,下载到本地的地址);

    方法二:异步

    WebClient webClint;
            float maxSpeed = 0;
            float currentSpeed = 0;
            float lastSpeed = 0;
            long lastReceive = 0;
            long reeciveSpan;
            TimeSpan span;
            DateTime start;
            DateTime lastTime;
            TimeSpan useTime;
            protected void Button1_Click(object sender, EventArgs e)
            {

     webClint.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClint_DownloadProgressChanged);
      webClint.DownloadFileAsync(new Uri下载文件的路径, 下载到本地的地址);

    }

    void webClint_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
            {
                span = DateTime.Now - lastTime;
                lastTime = DateTime.Now;
                useTime = lastTime - start;
                reeciveSpan = e.BytesReceived - lastReceive;
                currentSpeed = reeciveSpan * 1000 / (span.Milliseconds + 1) / 1024;
                maxSpeed = currentSpeed > maxSpeed ? currentSpeed : maxSpeed;
                lastSpeed = currentSpeed;
                lastReceive = e.BytesReceived;
               // progressBar1.Value = e.ProgressPercentage;
                this.Label1.Text = "已下载: " + e.BytesReceived / 1024 + "KB\n" +
                    "总大小: " + e.TotalBytesToReceive / 1024 + "KB\n" +
                    "百分比: " + e.ProgressPercentage + "%\n" +
                    "当前速度: " + currentSpeed.ToString("F2") + "KB/s\n" +
                    "大速度: " + maxSpeed.ToString("F2") + "KB/s\n" +
                    "用时: " + (useTime.Minutes * 60 + useTime.Seconds) + "s";

                if (e.BytesReceived == e.TotalBytesToReceive)
                {
                    webClint.DownloadProgressChanged -= webClint_DownloadProgressChanged;
                    webClint.Dispose();
                    Response.Write("任务完成!");
                    webClint.Dispose();
                    //if (MessageBox.Show("是否关闭当前程序而立即安装?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    //{
                    //    xiazai();
                    //}
                }

            }

    展开全文
  • Winform经典项目

    2020-07-30 23:30:25
    主要是描述了C#中的winform的各个方面的应用,资源比较全,不知道从哪里来的,跟大家分享一下
  • 1)WinForm?Windows窗体应用程序 WinForm 是 Windows Form 的简称,是基于 .NETFramework 平台的客户端(PC软件)开发技术,一般使用C#编程。 C# WinForm 编程需要创建「Windows窗体应用程序」项目。 .NET ...
  • C#图形界面入门 Winform

    万次阅读 多人点赞 2017-12-16 15:42:10
    C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;...
  • 最近做的一个创新项目,用到了WinForm(其实神烦WinForm……再者它技术已经跟不上潮流了) 启动时,主窗体的大小总是要么宽一些、要么窄一些,不知为什么……(又是很无奈) 搜了搜资料,果然找到了解决办法:  ...
  • 隐藏WinForm窗体边框

    万次阅读 2011-07-29 15:14:22
    FormBorderStyle 设置为 None
  • https://www.cnblogs.com/findumars/p/6339340.html
  • winForm如何调用WebApi接口

    万次阅读 2018-01-15 17:46:33
    因为本人接触的项目属于C/S结构的偏多,一直没有机会接触webApi,所以一直觉得webApi很神秘。刚好最近有时间,所以我就在网上搜了一些webApi的资料,然后结合winform写了一个Dome:  WebApi winform
  • winform程序如何做到开机自动启动

    万次阅读 2019-05-17 09:31:58
    如下一个方法就搞定了 /// <summary> /// 开机自启 /// </summary> public static void Fun_AutoStart(bool isAutoRun = true) { try { ...
  • winform内嵌unity

    万次阅读 多人点赞 2017-02-23 13:18:43
    都是为了学习,转载时不用打招呼,标明出处就行,实在不想标明,也可以!
  • Winform修改exe默认图标

    千次阅读 2009-10-18 00:07:00
    winform 中exe文件有默认的图标,要修改成自己想要的图标很简单,项目右键属性,在应用程序选项卡中,在资源中就可以改变自己想要的图标。
  • WinForm中Label控件的换行显示

    万次阅读 2012-12-14 17:42:39
    WinForm中,Label控件是最常用的了。可有时需要它的换行,只能在后台用\r\n或Environment.NewLine。原来,换行还可以通过前台界面属性设置来实现。 换行主要用到AutoSize、MaximumSize和Size三个属性。添加一个...
  • C# Winform 窗体美化(二、LayeredSkin 界面库)

    万次阅读 多人点赞 2017-04-15 08:37:42
    二、LayeredSkin 窗口美化库概况这部分资源是 Winform 美化最多的了,效果还不错,使用时只需引入 LayeredSkin.dll - 696 KB 即可。网上能找到的最后 LayeredSkin 版本应该是 LayeredSkin Demo2014-12-10.zip,之后...
  • C# WinForm 默认最大化

    千次阅读 2013-08-01 00:48:43
    只需要在窗口的Shown事件处理函数中修改 WindowState即可this.WindowState = FormWindowState.Maximized;
1 2 3 4 5 ... 20
收藏数 137,733
精华内容 55,093
关键字:

winform