C#应用程序界面开发基础——窗体控制(1)——Form窗体(删除事件部分,没看懂)

C#语言的图形用户界面 C#是由微软于2000年推出的一种面向对象编程语言。它是.NET框架的一部分,以其简洁、高效和强大的特性深受开发者喜爱。C#集成了C++和Java的优点,支持诸如垃圾回收、异常处理和多线程等现代编程特性。C#的灵活性使其能够应用于各种领域,从桌面应用到Web开发,再到游戏和移动应用。C#语言为图形用户界面开发提供了强大的支持,其简洁的语法和丰富的类库使得开发者能够高效地创建各类桌面应用程序。通过Windows Forms和WPF等技术,开发者可根据项目需求选择合适的开发方式。 阅读详情
AI摘要

本文详细介绍了如何使用Visual Studio创建Windows窗体应用(WinForm),包括创建项目的步骤、窗体的实质及其属性设置方法,并提供了常见事件处理示例。

 From窗体

创建WinForm程序

创建WinForm程序的步骤

打开Visual Studio,点击“创建新项目”,使用快捷键Ctrl+Shift+N可以快速地打开“新建项目”对话框。

在拉下菜单中选择“C#”、“Windows”、“桌面”中,在列表框选择“Windows窗体应用(.NET Framework)”。

点击“下一步”。

 点击“创建”。 

 在解决方案资源管理器,双击Program.cs文件,会跳转到Windows控制台应用界面,在“编辑”窗口中是一段自动生成的WinForm程序.

 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

再单击“启动”按键,会弹出一个空白的窗体。

 创建窗体的实质

窗体的实质就是利用System.Windows.Forms.Form类或者是该类的派生类来创建。

右击“窗体”后,选择“查看代码”命令,就会跳转到Form1.cs文件。

代码如下: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

窗体的添加与删除

右击项目名称WindowsFormsApp1,在弹出的快捷菜单中选择“添加”-“Windows窗体”或者“添加”-“新建项”命令。

最后在“添加新项”圣诞框中选择“窗体(Windows窗体)”。

 删除窗体,只需要在解决方案管理器中,选中要删除的窗体名称,右击,在弹出的快捷菜单选择“删除”命令即可。

 

窗体的属性

1、“属性”面板

打开“属性”面板有以下三种方法:

(1)

右键命令

(2)

“视图”命令

(3)

右下角

2、C# WinForm窗体基础属性

(1)窗口样式中的属性值,可以用来更改图标、最大化窗口透明度。

窗口样式
属性值说明
Icon更改图标样式(左上角图标)
MaximizeBox:true;显示右上角最大化按钮
MinimizeBox:true;显示右上角最小化按钮
ShowInco:true;显示左上角小图标
ShowInTaskbar:ture;窗体显示在任务栏
TopMost:ture;窗口置顶显示
Opacity:100%整个窗口透明度

(2)布局中的属性值,可以用来改变窗体的大小以及启动程序后窗体的显示位置。

布局
属性值 说明
AutoScroll:true/false;如果控件超出窗口是否自动显示滚动条
AutoSize:true/false;窗口的范围是否会超出控件的大小
MaximumSize:0,0;窗口可以拖曳的最大的大小
MinimumSize:0,0;窗口可以拖曳的最小的大小
Size:300,300;窗口打开时默认的大小
StartPosition:centerScreen;窗口打开时默认桌面位置,居中
WindowState:Maximized;默认打开窗口最大化。

(3)外观的属性值,主要用来更改窗体颜色、字体和标题等。

外观
属性值说明
Font:宋体,9pt;可以修改字体大小,字体越大控件越大
Text;输入文本
TextAlign;文字位置
FormBorderStyle:FixedSingle;窗口不可拖曳大小
FormBorderStyle:None;隐藏窗口的边框
DropDownStyle:DropDownList;让下拉框无法输入文本

3、设置窗体属性

窗体的图标是系统 默认的图标。

更改图标,在“属性”面板中,选择Icon性格

窗体的颜色 和背景,通过BackgroundImage属性进行设置。选择“属性”面板中的BackgroundImage属性。

窗体的常用事件

所谓事件,就是指要发生的事情,可以简单地理解为用户的操作,它是由对象引发的。窗体的所有事件,都可以在“属性”面板中进行查看。

1、添加事件

为窗体添加一件事件,只要在事件面板里选择要添加的事件,Load后面的空格里双击,相应的事件将会自动生成。

(1)窗体在加载时,就会触发一个窗体加载事件Load。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("窗体加载完成");
        }
    }
}

(2)单击窗体时,触发Click(单击)事件。

Click双击。

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("窗体加载完成");
        }

        private void Form1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("单击窗体");
        }
    }
}

 (3)关闭窗体时,触发FormClosing(关闭)事件

 代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("窗体加载完成");
        }

        private void Form1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("单击窗体");
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            MessageBox.Show("确定要关闭窗体?");
        }
    }
}

2、删除事件

设计器中需要删除或注释掉的代码:

this.label1.Click+=new System.EventHandler(this.label1_Click);

没看懂, 不掌握。

窗体的显示与隐藏

窗体标识符.Show()

窗体标识符.Hide()

编写程序,实现单击窗体Form1后,弹出窗体Form2。

首先添加一个新的窗体Form2,如下: 

创建新的Form2之后如下:

 有两个窗体:

添加窗体Form1的Click事件

 

 

 代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Click(object sender, EventArgs e)
        {
            Form2 myForm = new Form2();
            myForm.Show();
        }
    }
}

 

 

C#程序设计入门实战:从控制台到窗体的首个应用 本文详细介绍了C#程序设计从控制台到窗体应用的入门实战教程,包括开发环境搭建、控制台编程、窗体设计、事件处理等核心内容。通过具体代码示例和实用技巧,帮助初学者快速掌握C#基础开发技能,实现首个完整的Windows应用程序开发。 阅读详情

相关推荐

C# WinForm控件开发指南:从基础控件到实战应用

在C#桌面开发中,控件是构建用户界面的核心组件,它们作为程序与用户交互的桥梁,负责数据的输入、展示和操作响应。控件的原理基于事件驱动模型,通过属性、事件和布局三大要素协同工作,实现丰富的交互逻辑。掌握控件的使用不仅能提升开发效率,还能构建出专业、易用的应用程序界面,在企业管理软件、数据录入系统、工具软件等场景中广泛应用。本文聚焦WinForm控件的核心概念,深入解析常用控件的特性与实战技巧,涵盖按钮、文本框、数据网格等关键组件,帮助开发者从基础入门到灵活运用,快速构建功能完善的桌面应用。

weixin_30889885的博客 360

C#Winform窗体与界面设计

本课程是针对C#Winform开发人员的基础性课程,详尽的介绍C#Winform窗体与界面的设计,通过提供实例,让C#Winform开发人员掌握相关程序设计技巧,为后面学习完整的实战课程打下较好的基础。

C#实现创建界面的三种方式(附完整源码)

C#实现创建界面的三种方式(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 909

从键盘到摄像头:拆解USB端点描述符如何定义你的外设‘性格’

本文深入解析USB端点描述符如何定义外设的核心特性,从键盘到摄像头,这些不足10字节的数据结构决定了设备的实时性、吞吐量和可靠性。通过拆解端点描述符的7个关键字段和四种传输类型,揭示USB设备背后的‘性格基因’,帮助开发者优化外设性能。

weixin_33693070的博客 664

C# GUI编程入门指南:学习如何使用C#创建图形用户界面

C#是一种强大的编程语言,它提供了丰富的库和工具来帮助我们创建各种GUI应用程序。你可以从Microsoft官方网站上下载和安装Visual Studio,这是一个功能齐全的集成开发环境(IDE),非常适合C#开发。在新项目中,我们要添加一个窗体(Form)来作为我们的GUI界面。窗体是GUI程序的基本组成部分,它可以包含按钮、文本框、标签等控件,并且可以响应用户的交互操作。当我们点击按钮时,我们希望触发一个事件,例如显示一个消息框。首先,我们在窗体上添加一个标签(Label),用于显示欢迎信息。

ByteHackerX的博客 2182

MOOS-ivp 实验一 MOOS软件的安装与执行

MOOS-ivp实验一 实验一步骤总结 文章目录MOOS-ivp实验一前言一、实验一1.下载软件2.安装必要的插件3.安装后检查4.路径添加5.执行示例文件总结 前言 在moos学习过程中,我觉得最好把学习的每一步骤都总结一下,方便日后进行回顾。moos官网设置了十八个实验,涉及到了moos的各个方面,完成这些实验也是moos入门的好办法。 一、实验一 实验一主要内容仅仅是软件的安装,仅仅这一步就花费了我接近两天的时间。主要问题发生在linux系统的配置问题上。 1.下载软件 svn co https:

weixin_44151170的博客 6669

关于c#创建界面的几种方式

c#创建界面有很多种方式,下面列举5中创建界面的方式。 1.windows窗体,这种窗体设计界面是最简单的一种。这种可以直接从工具箱拿出组件进行使用,能够很好的设计界面。 2.用户控件类 3.组件类 4.窗口wpf 5.页(wpf) 下面详细介绍页wpf。 这种wpf界面的设计有点像java中布局设置。我们这边开发就是通过这种页wpf的形式设计子界面。一般将界面设计gird形式。我们能够界面和数据库封装的形式,显示数据库表中的数据。通过这种方式减轻了编程代码量,这种方式更容易理解编程的逻辑。

qq_32663053的博客 3068

揭秘无人机前沿领域的科技新突破

本文旨在系统性地介绍无人机技术在前沿领域的最新突破,涵盖从基础理论到实际应用的各个方面。我们将重点关注那些正在改变无人机行业面貌的关键技术创新,并分析它们对未来发展的影响。文章首先介绍无人机技术的基础概念和背景,然后深入探讨六个关键领域的技术突破,接着分析实际应用案例,最后展望未来发展趋势。自主导航系统(SLAM):同时定位与地图构建技术,使无人机能在未知环境中自主导航计算机视觉(CV):使无人机能够"看"和理解周围环境的技术5G通信:第五代移动通信技术,提供高速、低延迟的数据传输能源管理。

AI天才研究院 1490

C#应用程序界面开发基础——窗体控制(3)——文件类控件

文件类控件

DXB2021的博客 4001

AUTOSAR E2E Protocol实战:Profile1到Profile5的配置差异与最佳实践

本文深入解析AUTOSAR E2E Protocol中Profile1到Profile5的核心配置差异与适用场景。针对经典CAN、CAN FD及以太网等不同总线,详细对比了计数器、CRC、DataID等关键参数,并结合实战代码与配置示例,为工程师根据功能安全等级、数据长度与带宽限制选择最佳Profile提供了清晰的选型路径与工程实践指南。

milk5的博客 941

华三R4900 G5服务器实战:用PMC P460-B4阵列卡配置RAID1+RAID6,并搞定CentOS 7.9安装(含热备盘设置)

本文详细解析了在华三R4900 G5服务器上使用PMC P460-B4阵列卡配置RAID1+RAID6混合阵列的全过程,包括热备盘设置和CentOS 7.9系统安装。通过实战步骤和性能优化建议,帮助企业IT人员高效部署高可用存储方案,特别适合需要数据冗余和系统稳定性的企业级应用场景。

weixin_29248653的博客 357

C#——Windows窗体

MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中,MDI窗体中通常包含子菜单的窗口菜单,用于再窗口或文档之间进行切换。如果要在项目中添加一个新窗体,可以在项目名称上右击,在弹出的快捷键菜单中选择“添加”->“windows窗体”或者“添加”->“新建项”命令。在“新添加项”对话框中,选择“Windows窗体”,输入窗体名称,单击“添加”按钮,添加windows窗体。另一种是使用继承选择器创建继承窗体。删除窗体,在要删除的窗体名称上右击,在弹出的快捷菜单中选择“删除”命令,即可删除窗体。

2401_86294292的博客 4971

从零到一:桌面宠物的硬件架构设计与工程实践

本文详细介绍了基于STM32F103C8T6主控平台的桌面宠物机器人硬件架构设计与工程实践。内容涵盖电源管理、舵机控制、PCB布局及系统调试等核心环节,为硬件爱好者提供从零到一的完整开发指南,助力打造稳定可靠的智能桌面伴侣。

alice7model的博客 1112

窗体、控件的使用 控件的事件处理与控件的访问 多个窗体之间的跳转

C#之窗体应用程序设计:窗体、控件的使用 实验内容:在主窗口上放置一ListBox和两个Button,Button1和Button2;新建Window窗体Form2,在Form2上放置一button;要求主窗体居中显示。点击主窗体上的button1,,弹出窗体Form2,实现点击Form2窗体上的按钮时,在Form1的ListBox控件里面添加任意字符串; 在Form2窗体上添加合适的控件,要求输入一十进制数,输出这个数的八进制和二进制; 步骤: 打开vs,新建WPF文件,打开工具箱,拖动需要的控件至FO

菜鸟的博客 4096

OCSP环境搭建--Windows Server 2016

OCSP环境搭建--Windows Server 2016 一. OCSP环境中相关信息 1. 服务器1 操作系统:Win Server 2016 Standard版 IP地址:172.16.0.19/23,网关:172.16.0.1,首选DNS:127.0.0.1 服务器角色:域控制器、证书颁发机构、radius服务器、DNS服务器 ...

CsdnCHong_566的博客 3350

【软考中级网络工程师】知识点之常用网络诊断和配置命令

本文聚焦软考中级网络工程师必备的网络诊断和配置命令,详细解析 ipconfig、ping、arp 等 11 类核心命令。涵盖各命令的功能、语法、常用参数及应用场景,如 ipconfig 查看配置、ping 测试连通性等。还通过图呈现命令执行逻辑与流程,助读者理解原理。最后结合软考考点回顾重点并提供真题练习,为备考和实际运维提供全面指导,是掌握网络命令的实用参考。

邓邓子的博客 1546

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

常用控件包括文本控件、选择控件、分组控件、菜单控件、工具栏控件以及状态栏控件常用控件的作用控件分类作用文本控件文本控件可以在控件上显示文本选择控件主要为用户提供选择的项目分组控件使用分组控件可以将窗体中的其他控件进行分组处理菜单控件为系统制作功能菜单,将应用程序命令分组,使它们更容易访问工具栏控件提供了主菜单中常用的相关工具状态栏控件用于显示窗体上的对象的相关信息,或者可以显示应用程序的信息通过设置DateTimePicker控件的CustomFormat属性,可自定义日期时间格式字符串。

weixin_51263756的博客 6万+

17、非线性动力学特征在情感语音与食管语音分析中的应用

本文探讨了非线性动力学特征在情感语音与食管语音分析中的应用。在情感语音识别中,选取Hurst指数、相关维数和Lempel-Ziv复杂度等混沌特征结合统计量,通过神经网络实现了中性、恐惧和愤怒情感的高效分类,全局成功率高达93.78%。在食管语音分析中,针对其缺乏明显周期性的问题,提出基于改进自相关方法的基频测量流程,包括包络计算、平滑与峰值细化,并对基频的物理意义提出思考。研究展示了两类语音在特征表现与技术方法上的差异,展望了其在客服、安全、医疗康复等领域的应用前景,并指出了未来在特征拓展、算法优化和发声机

sunny的博客 72

保姆级跟学VISualstudio窗体画面制作教程

窗体也是对象,窗体类定义了生成窗体的模板,每实例化一个窗体类,就产生一个窗体。所有图像都将以相同的大小显示,该大小由ImageSize属性设置,较大的图像将所有至适当的尺寸。ImageList控件实际上就相当于一个图片集,也就是将多个图片存储到图片集中,当想要对某一图片进行操作时,只需根据其图片的编号,就可以找出该图片,并对其进行操作。当WordWrap(指示多行文本框控件在必要时是否自动换行到下一行的开始)属性为true时,则不论ScrollBars属性的值是什么,都不会显示水平滚动条。

KoError的博客 3859

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Windows窗体基础知识

在Windows应用程序中创建的所有窗体类都是从System.Windows.Form命名空间中的Form类派生的。 1、删除窗体 删除窗体的方法非常简单,只需要在要删除的窗体名称上单击鼠标右键,在弹出的快捷菜单中选择“删除”命令,即可将窗体删除。 2、设置启动窗体 项目的启动窗体是在Program.cs文件中设置的,在Program.cs文件中改变Run方法的参数,即可实现设置启动窗体。

ルーキーの殇 1648

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C# 怎么判断一个窗体打开

问题运行时出现Form1,然后点击一个按钮,就会跳出窗体Form2.如果再点击的话还会跳出一个窗口(因为我用的是new form ,重新创建了一个form2,所以会一直跳。) 我要的效果就是只能出来一个,如果再点击的话就不会出现新的。那么这就要加一个if语句来判断了。代码展示:Form1 部分代码: public Form2 f2 =null;//创建一个子表实例 private void but

qq_36196748的博客 9299

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

c# 窗体开发1 基本控件的使用

1 namespace firstly #当前命名空间控件 2 { 3 public partial class Form1 : Form 4 { 5 public Form1() #第一个窗体 6 { 7 InitializeComponent(); 8 } 9 } 10 } winform 代码结构 1...

weixin_30570101的博客 461

窗体winforn的学习

展示数据列表,模拟 Windows 资源管理器,支持大图标、列表、详细表格等展示方式。,是 Windows 应用程序的主窗口,所有按钮、文本框等控件都必须放置在窗体上。,节省界面空间,支持选择 / 输入(可配置),常用于性别、城市、分类选择。用户点击后执行指定操作(登录、提交、查询、清空),是界面交互的核心控件。,是最常用的输入控件(账号、密码、备注、内容编辑等)。,支持多选(如兴趣爱好、权限勾选、功能开关)。(头像、图标、广告图、本地 / 网络图片)。

pqd666的博客 646

C#窗体猜数字小游戏AB

用C#窗体做猜数字小游戏,人机交互;

rssjb的博客 2897

C#父子窗体

C#中,怎么实现在第一个窗体上点一个按钮,出现第二个窗体? 在按钮的click事件中添加以下代码 private void button1_Click(object sender, EventArgs e) { Form form2 = new Form(); form2.Show(); }   C# Show() 与 ShowDialog()区别 ShowD

霜知坚冰的专栏 4081
上一篇: 2022年6月29日--使用C#迈出第一步--使用 C# 中的“if”、“else”和“else if”语句向代码添加决策逻辑
下一篇: C#应用程序界面开发基础——窗体控制(2)——MDI窗体
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值