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

实验记录 | 如何拆分scATAC-seq数据成为单个细胞?(1、解决barcode问题)

在师兄的帮助下,我得到了师兄筛选过的细胞的barcode的数据,那么接下来我想根据这些barcode,将来源于同一个barcode的细胞的reads提取出来,这个还是一个蛮有技术含量的事情的,因为上次我有使用过perl的脚本进行提取,最后的实验结果很糟糕,故而这件事情一直搁置到现在,没有继续去做(我的脚本的编写能力还是有待于加强,可能是刚刚喝了奶茶,和老妈弟弟聊了好多闲话,很开心,觉得在某种程度上休息够了,对于工作也是一种非常快乐和积极的状态了)。 0。前期失败尝试回顾 ...

weixin_40640700的博客 1887

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

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

qq_32663053的博客 3068

告别I2C和SPI:用FPGA驱动DS18B20,一根线搞定温度采集(附Verilog代码)

本文详细介绍了如何利用FPGA通过单总线协议(One-Wire)驱动DS18B20温度传感器,仅用一根数据线实现高效温度采集。内容涵盖协议解析、Verilog代码实现及调试技巧,帮助开发者节省IO资源并提升系统性能。

weixin_42696271的博客 389

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

文件类控件

DXB2021的博客 4001

实战详细讲解Qt插件plugin的编写与用法

qt插件的开发,可以说是动态库的开发,因为调用方式类似,多熟悉一下,利用Qt框架开发很简单的。在想想这种调用过程有的熟悉,比如公司买了一堆摄像头,公司要对摄像头进行二次开发,实现自己想要的功能,集成到一套设备里去,然后在卖给用户。此时厂商肯定会提供开发文档,并给你SDK包(软件开发工具包), 包里你会发现只有头文件和一堆库文件,没有源文件,因为实现的过程是产商公司保密的,给你看还得了。所以都封装成了库的形式给你调用,如静态库或者动态库。

qq_44667165的博客 1万+

AI Agent技能评测框架SkillsBench:从黑盒评估到白盒技能拆解

在人工智能领域,模型评估是衡量技术进展的核心环节。传统评测基准如GLUE、MMLU主要关注模型的通用认知能力,但实际工程应用中,AI Agent需要的是在复杂场景中协调多种能力的“职业技能”。SkillsBench创新性地将Agent能力进行原子化拆解,定义了理解规划、工具调用、推理决策、交互安全等技能维度,并通过领域专家构建的评测集确保生态效度。这一框架为Agent开发提供了精准的“度量衡”,使性能优化从经验驱动转向数据驱动,同时为不同模型和框架提供了公平比较的基础,推动了AI Agent生态从“野蛮生长

weixin_30530339的博客 388

C#——Windows窗体

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

2401_86294292的博客 4971

STM32移植LVGL(LittleVGL)

**STM32移植LVGL(LittleVGL)**

qq_53000374的博客 1万+

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

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

菜鸟的博客 4096

【知识分享】CAN总线中终端网络的重要性

P沟道和N沟道晶体管的漏源通态电阻匹配良好时,形成的CANH和CANL信号匹配良好;如果驱动器的一半具有比另一半低得多的导通状态电阻,那么总线共模电压将从VCC/2的显性状态偏离,并回到VCC/2的隐性状态,这将导致每一次状态转换都会伴随着共模电压噪声,从而导致更高水平的传导和辐射能量发射。

一只豌豆象的博客 1543

为JETSON TX2开发板部署YoloV5

参考资料一:nvidia为JETSON Tx2编译的pytorch 参考资料二:Jetson软件包下载 参考资料三:Tx2安装工具的使用 参考资料四: Jetson烧录工具 参考资料五: B站下载的行人视频 一、升级TX2系统版本到最新版(JetPack4.6) 我拿到的板子的版本太低了,在工作的过程中会有很多问题,因此要先升级到最新版 下载参考资料四中的烧录工具,在Ubuntu18.04中安装,只能,必须,一定是Ubuntu18.04 安装完成后使用非root用户启动SDK Manger,登录Nvi.

贱贱的剑 5887

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

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

weixin_51263756的博客 6万+

TGAT Python:图神经网络中的动态图算法

其中,图神经网络中的动态图算法成为了研究的热点之一。在模型的 forward 方法中,通过循环调用 TGATLayer 实例来进行图神经网络的前向传播。最终,模型返回图中节点的表示向量 output,可以用于图分类等任务。TGAT 算法的核心思想是在节点之间建立注意力连接,以捕捉节点在不同时间步之间的关系。TGAT 算法通过引入注意力机制和时间信息,从而有效地对动态图数据进行建模和分析。通过以上 Python 代码,我们可以方便地构建和训练 TGAT 模型,并在图分类任务中应用它。

2301_79366435的博客 1826

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

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

KoError的博客 3859

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

深度学习工具包 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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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、付费专栏及课程。

余额充值