精华内容
参与话题
问答
  • 1)WinForm?Windows窗体应用程序 WinForm 是 Windows Form 的简称,是基于 .NETFramework 平台的... C# WinForm 编程需要创建「Windows窗体应用程序」项目。 .NET 提供了大量 Windows 风格的控件和事件,我们...

       1)WinForm? Windows窗体应用程序

                  WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术, 一般使用 C# 编程。

           C# WinForm 编程需要创建「Windows窗体应用程序」项目。

          .NET 提供了大量 Windows 风格的控件和事件,我们可以直接拿来使用,上手简单,开发快速。

            Windows窗体应用程序:

                   Windows 窗体应用程序也称为事件驱动程序,也就是通过鼠标单击界面上的控件、通过键盘输入操作控件等操作来触            发控件的不同事件完成相应的操作。例如单击按钮、右击界面、向文本框中输入内容等操作。

      2)创建WinForm程序

                   文件”→“新建”→“项目”命令,弹出如下图所示的对话框。

                       完成 Windows 窗体应用程序的创建,如下图所示

            在每一个 Windows 窗体应用程序的项目文件夹中,都会有一个默认的窗体程序 Form1.cs,并且在项目的 Program.cs 文件中指定要运行的窗体。

            Program.cs

       3)控件和向工具箱中添加新的控件

                     选择“视图”→“工具箱”,如下图所示:

              在工具箱中将控件划分为公共控件、容器、菜单和工具栏、数据、组件、打印、对话框等组。

                                     

                      向工具箱中添加新的控件, 或者对工具箱中的控件重置或进行分组         

                                                   

                      在右键菜单中选择“选择项”命令,弹出如下图所示的对话框。

               在该对话框中列出了不同组件中所带的控件,如果需要在工具箱中添加,直接选中相应组件名称前的复选框即可。

              如果需要添加外部的控件,则单击“浏览”按钮,找到相应控件的 .dll .exe 程序添加即可。

               

     

     

     

     

     

     

     

     

    展开全文
  • C#WinForm——基础知识

    千次阅读 2019-06-05 20:28: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() 展开所有节点

    展开全文
  • C#--WinForm项目主窗体设计

    万次阅读 多人点赞 2017-09-17 09:59:46
    主窗体基本设置大小、颜色、去边框、出现的位置 Panel控件背景图、颜色、布局:Label标签文本、字体、背景颜色、布局 按钮布局、文本、字体颜色、背景色、 底部panel绑定控件边框、颜色用label标签...

    主窗体基本设置

    这里写图片描述


    大小、颜色、去边框、出现的位置

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述


    Panel控件

    这里写图片描述

    背景图、颜色、布局:

    这里写图片描述

    这里写图片描述

    这里写图片描述

    Label标签

    这里写图片描述

    文本、字体、背景颜色、布局
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述


    按钮

    这里写图片描述

    布局、文本、字体颜色、背景色、
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述


    底部panel

    绑定控件边框、颜色

    这里写图片描述

    这里写图片描述

    用label标签导入图标
    这里写图片描述


    SplitContainer容器

    这里写图片描述

    拖放时直接放不好操作设置属性:

    这里写图片描述
    设置不绑定到容器的边框
    这里写图片描述

    设置颜色
    这里写图片描述

    这里写图片描述

    这里写图片描述

    拖放调整合适大小:

    这里写图片描述

    固定左边panel1 不可拖动:

    这里写图片描述

    禁止全部panel不可拖动:
    这里写图片描述

    设置间距距离

    这里写图片描述


    左边框按钮

    这里写图片描述


    美化方法嵌入子窗体的设计

    这里写图片描述
    设置大小 和去除边框

    这里写图片描述

    这里写图片描述

    组合框的俩种设计方法

    这里写图片描述

    颜色、用户不可输入、布局
    这里写图片描述


    第二种组合框设计:

    这里写图片描述

    由一个按钮和panel、ListView:
    panel边框单一模式

    这里写图片描述

    ListView
    这里写图片描述

    这里写图片描述

    项目代码下载

    展开全文
  • C#图形界面入门 Winform

    万次阅读 多人点赞 2017-12-16 15:42:13
    C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它...

    C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

    C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。[2] 

    WinForm是·Net开发平台中对Windows Form的一种称谓。

    开发工具 ------C# VS2013或者VS其他版本

    1. 写本教程的目的是为了能让学习C#的童鞋们能够快速的使用【图形界面】搭建开发环境,希望对您有帮助,如果您觉得好,请点个赞或者也可以收藏。

    2. 首先我们打开VS2013,依次【文件】=》【新建】=》【项目】

    3. 然后我们选择C#  【windows窗体应用程序】,输入项目名称和解决方案名称就行了,名字随意吧。默认是WindowsFormsApplication4,说明以前已经建立过三个项目了,这个不是重点。

    4. 接下来我们看看生成的项目文件和结构,左边是一个windows窗体,右边是windows项目的文体

      1. 项目包含两个主要的文件Program.cs和App.config

        (1)、查看Program文件

        namespace WindowsFormsApplication4

        {

            static class Program

            {

                /// <summary>

                /// 应用程序的主入口点。

                /// </summary>

                [STAThread]

                static void Main()

                {

                    Application.EnableVisualStyles();

                    Application.SetCompatibleTextRenderingDefault(false);

                    Application.Run(new Form1());

                }

            }

        }

        这个文件说明了程序的入口点,也就是main函数,最开始执行的地方,我们可以看到       Application.Run(new Form1());From1就是建立的窗口程序的名称,

      2. (2)、查看App.config文件

        <?xml version="1.0" encoding="utf-8" ?>

        <configuration>

            <startup> 

                <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />

            </startup>

        </configuration>

        这里边标记的是配置文件,记录的有.net版本,4.5.1,当然如果是VS2010等版本,默认的是.NET4.0,都是能够运行的,.net版本,4.5.1  和NET4.0都是程序运行的环境,就相当于自己种花,然后这花必须依赖于泥土一样,泥土就是.NET,暂时这么比喻吧

      3. 图形界面C#开发

        那么看了系统的结构,下面我们来实践一下,做一个小例子吧

        我们做一个按钮,然后点击弹出输入的信息.

        我们找到【工具】=》【选择项】,VS左边的就会出现工具箱了,包含各类的控件,有文本框(TextBox),复选框(CheckBox),下拉框、Grid表格等等。。。。我们讲解最基本的例子吧。

      4. 从左侧拖动一个TextBox和Button,也就是文本框和按钮到窗口上,此时我们可以点击到按钮和文本框,鼠标右键=》【属性】,修改按钮默认的文字和名称,我们把button1修改为点击,按钮的名称修改为btnSave,修改的目的是便于以后使用,便于区别button1,button2等等,顾名思义以后直接根据名称编写对应的功能和事件就行了。

      1. 然后双击【按钮】会生成一个事件,如下,我们可以在这个按钮的事件方法中编写自己的功能

          private void btnSave_Click(object sender, EventArgs e)

                {

                }

      2. 修改代码如下:

      3. private void btnSave_Click(object sender, EventArgs e)

      4.         {

                    MessageBox.Show(textBox1.Text);

                }

        注意加粗的代码意思就是显示您要输入的文本,textBox1代表的是文本框控件的名称,textBox1.Text就是这个控件的文本值, MessageBox.Show当然就是把这个显示出来了,比较简单吧。

      5. 然后我们点击【运行】或者Ctrl+5直接运行,就可以运行你的程序了,如果按的是F5也可以运行,这个是带有调试信息的,可以使用VS工具跟踪整个系统运行的变量、方法、执行过程等等(可以自己尝试一下)

      6. 查看运行结果,我们随意输入一个51diysoft文本,点击就会显示这个输入的内容了

        基本上图形界面的使用思路就是这样,拖动控件,然后编写代码,这个是入门,另外我们可以查看拖动的代码生成的源文件,等到后边的话,我们是需要自己编写代码的了,请记住“拖动不是万能的”

        题外话:我们来研究一下拖动的控件生成的代码

        #region Windows 窗体设计器生成的代码

                /// <summary>

                /// 设计器支持所需的方法 - 不要

                /// 使用代码编辑器修改此方法的内容。

                /// </summary>

                private void InitializeComponent()

                {

                    this.btnSave = new System.Windows.Forms.Button();

                    this.textBox1 = new System.Windows.Forms.TextBox();

                    this.SuspendLayout();

                    // 

                    // btnSave

                    // 

                    this.btnSave.Location = new System.Drawing.Point(121, 202);

                    this.btnSave.Name = "btnSave";

                    this.btnSave.Size = new System.Drawing.Size(75, 23);

                    this.btnSave.TabIndex = 0;

                    this.btnSave.Text = "点击";

                    this.btnSave.UseVisualStyleBackColor = true;

                    this.btnSave.Click += new System.EventHandler(this.btnSave_Click);

                    // 

                    // textBox1

                    // 

                    this.textBox1.Location = new System.Drawing.Point(61, 107);

                    this.textBox1.Name = "textBox1";

                    this.textBox1.Size = new System.Drawing.Size(100, 21);

                    this.textBox1.TabIndex = 1;

                    // 

                    // Form1

                    // 

                    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

                    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

                    this.ClientSize = new System.Drawing.Size(284, 262);

                    this.Controls.Add(this.textBox1);

                    this.Controls.Add(this.btnSave);

                    this.Name = "Form1";

                    this.Text = "Form1";

                    this.ResumeLayout(false);

                    this.PerformLayout();

                }

                #endregion

                private System.Windows.Forms.Button btnSave;

                private System.Windows.Forms.TextBox textBox1;

        我们可以理解到标记颜色的地方其实就是声明了一个按钮和文本框然后,设置位置,文本的名称,控件的颜色等等,一般的属性,我们都是可以通过鼠标右键来进行设置【属性】的,


    5. 再次记住一句话“拖控件不是万能的”。


    展开全文
  • C#开发WinForm之DataGridView开发

    万次阅读 多人点赞 2018-12-01 10:12:19
    dataGridView 禁止缩放单元格大小 2个属性 AllowUserToResizeColumns:禁止缩放列 AllowUserToResizeRows:禁止缩放行
  • C# winform项目开发规范

    千次阅读 2018-11-30 17:58:48
    虽然用C# winform开发项目有段时间了,但之前没系统学过,也没人指导,平时做项目都是从需求出发,学习对应的知识。老师给的评价是:虽然功能都能实现,但还欠点火候。最近给审计局的学长做个审计管理系统,需求...
  • 198个经典C#WinForm实例源码 超赞的完整版

    千次下载 热门讨论 2013-07-14 18:27:44
    "198个经典C#WinForm实例源码"包括: 1-窗体技巧 2-控件操作 3-图像操作 4-报表打印 5-系统操作 6-文件处理 7-网络操作 8-数据库操作 9-加密解密 10-硬件读写 11-游戏设计 "超赞的198个经典C#WinForm实例源码.zip " ...
  • 同时为配合《C# WinForm实践开发教程》的课堂内、外授课,还编写了《C# WinForm实践开发教程》的配套实训教程《C# WinForm上机实训指导》,对《C# WinForm实践开发教程》内容进行了更深入的开发和实践操作。
  • C# winform项目集合

    2015-01-07 10:03:21
    里面包含很多简单易学的项目,很适合新手练习
  • C# Winform项目中,有一个form窗体和一个panel控件,panel控件的大小为:956*536。 如果panel控件的位置为0,0,通过以下代码可以将SKYPE视频通话客户端嵌入到panel控件中显示(SKYPE视频通话客户端充满整个panel...
  • 198个 C# Winform实例源码,适用于学习winform开发技巧的同学
  • c# winform实例大全(198个经典Csharp WinForm实例源码),学习c#的朋友可以参考下。
  • 高清 C# WinForm实践开发教程》附源码.zip 高清 C# WinForm实践开发教程》附源码.zip 高清 C# WinForm实践开发教程》附源码.zip
  • C# WinForm开发框架

    万次阅读 多人点赞 2012-10-19 07:36:47
    自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类 里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去...
  • C# winform项目中,有两个form窗体(form1、form2),在form1中有个两个button按钮。 在form1窗体中,点击button1弹出一个form2窗体,点击button2退出整个应用程序。 目前遇到的问题是,在form1窗体中点击button1弹...
  • 首先我们创建一个简单的C#winform项目,.net版本我们选择4.6.1 然后在设计页面上添加控件bottom和dataGridView 为了能连接mysql需要引入mysql.data的dll,我们右键项目选择管理NuGet程序包,并搜索MySql找到...
  • c#winform开发框架

    热门讨论 2012-05-05 00:47:39
    一款还不错的C#winform开发框架,对于想学习C#框架的初学者来说,是很值得借鉴的
  • C# Winform项目中添加 Log4net 日志库

    千次阅读 2019-06-16 16:26:58
    1. 下载log4net库文件:... 2. 在项目中引用 log4net.dll 3.在项目Properties->AssemblyInfo.cs文件中 添加[assembly: log4net.Config.XmlConfigurator()] 4. 在App.config中...
  • C# Winform项目中,需要将form窗体实现如下要求: 1、需要将form窗体绘制成圆形 2、将绘制成圆形的窗体由三条斜线分割成三等分的扇形,组成一个圆形窗体。注:(每个角为120度) 3、需要在圆形窗体的每个扇形区域内...
  • 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的数据绑定 ...
  • C# Winform项目中,有个form窗体,两个textbox文本框(textbox1、textbox2)和一个保存的Button按钮。 目前可以通过Messbox.show("保存成功!"),弹出提示“保存成功”的提示框。 请问,如何实现在弹出“保存成功”...
  • C#Winform界面布局设计(左侧菜单)右侧窗口操作

    千次下载 热门讨论 2011-10-28 17:09:51
    开发语言C#,.net环境下。C#Winform界面布局设计(左侧菜单)右侧窗口操作。以前做ERP设置的自定义控件。很好用。
  • C#Winform摄像头的视频录制和播放

    千次下载 热门讨论 2013-07-24 17:03:41
    C# Winform实现图像的动态采集,采集到的流媒体按照*.wam或者任意一种Windows Media Player 11可以播放的文件格式, 并获取流媒体采集结束时的最后画面作为流媒体的封面。 要求有录像功能:“开始录像”、“暂停...
  • C#Winform软件开发实战

    2018-05-17 08:04:58
    本套餐课程包括七门基础实例课,一门企业在用的的完整的软件项目。其中,C#Winform窗体与界面设计,C#WinForm工业企业销售管理系统开发两门课程提供QQ在线服务。
  • C# winform 导入导出Excel

    热门讨论 2011-03-16 15:24:43
    C# winform操作Excel 读取Excel,写入Excel 导入导出Excel,比较适合新手
  • C#winform实现Excel导入数据库

    热门讨论 2014-08-04 08:41:42
    C#winform实现Excel导入数据库相应的表中。
  • C# winform 实时消息提示框

    热门讨论 2011-07-13 15:16:04
    C# winform 实时消息提示框,三种不同样式风格,具休样式自己可修改,渐入渐出效果,希望可以帮到你。
  • c#winform中timer的用法

    千次阅读 2016-01-29 15:42:57
    1. 在C#里关于定时器类就有3个 《1》System.Windows.Forms里 《2》System.Threading.Timer类里 " 《3》System.Timers.Timer类里 2. 具体实现 System.Timers.Timer t = new System.Timers.Timer(10000); //实例...
  • c#Winform自定义控件-目录

    千次阅读 多人点赞 2019-09-06 20:59:24
    官网: http://hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 ...码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,...
  • 分享C# WinForm类库控件(GduUI类库)

    千次下载 热门讨论 2014-09-02 18:33:15
    之前分享过我自己写的WinForm界面库,大家可以再看看这个帖子:http://bbs.csdn.net/topics/390833504,现在类库增加了几个控件,同样分享全部源码给大家,希望大家下载使用。

空空如也

1 2 3 4 5 ... 20
收藏数 88,365
精华内容 35,346
关键字:

c# winform

c# 订阅