C#Form和Load和Shown

简介:     C#Form和Load和Shown这两个玩意容易混淆不?     案例测试一下: using System; using System.

    C#Form和Load和Shown这两个玩意容易混淆不?

    案例测试一下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace LoadShown
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.         private string[] mMessage = new string[] { "首先调用","第二调用"};
  18.         private int mIndex = 0;
  19.         private void Form1_Load(object sender, EventArgs e)
  20.         {
  21.             MessageBox.Show("Form1_Load" + mMessage[mIndex++]);
  22.         }
  23.         private void Form1_Shown(object sender, EventArgs e)
  24.         {
  25.             MessageBox.Show("Form1_Shown" + mMessage[mIndex++]);
  26.         }
  27.     }
  28. }

image

image

Form.Load 事件

    在第一次显示窗体发生。注意这里有一个前字。明显它的触发要比Shown中的早。

Form.Shown 事件

    只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。

    C#Form和Load和Shown从此不再混淆。

参考文献:

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.load(v=vs.110).aspx

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.form.shown.aspx

http://bbs.csdn.net/topics/390149457

相关文章
|
C# 索引 Windows
Winform控件优化之TabControl控件的使用和常用功能
TabControl是一个分页切换(tab)控件,不同的页框内可以呈现不同的内容,将主要介绍调整tab的左右侧显示、设置多行tab、禁用或删除tabpage、隐藏TabControl头部的选项卡等
8521 0
Winform控件优化之TabControl控件的使用和常用功能
|
网络协议 C# 文件存储
C# 利用FluentFTP实现FTP上传下载功能
C# 利用FluentFTP实现FTP上传下载功能
1216 0
C# 利用FluentFTP实现FTP上传下载功能
|
机器学习/深度学习 人工智能 自然语言处理
全新开源通义千问Qwen3上架阿里云百炼
Qwen3是Qwen系列大型语言模型的最新成员,作为混合推理模型,其旗舰版本Qwen3-235B-A22B在代码、数学和通用能力测试中表现出色,与顶级模型DeepSeek-R1、o1、o3-mini等相比具有竞争力。小型MoE模型Qwen3-30B-A3B激活参数仅为QwQ-32B的10%,性能更优,甚至小规模模型Qwen3-4B也能匹敌Qwen2.5-72B-Instruct。Qwen3支持思考与非思考两种模式,可根据任务需求灵活调整推理深度,并支持119种语言,Qwen3在推理、工具调用及多语言处理等方面显著提升,目前已开源并在阿里云百炼平台上线,提供便捷体验。
4956 0
C#基础③——类型转换(int转double、double转int、Convert)
不同数据类型间的转换,如:将int类型转换为string类型
|
C# 开发者
【捞底干货】C#中equals和==运算符的区别
【捞底干货】C#中equals和==运算符的区别
627 1
particles 粒子背景插件在vue3中的使用
本文介绍了如何在Vue 3项目中使用`particles.vue3`库来创建粒子背景特效。文章提供了粒子背景插件的概述、安装步骤、配置参数说明,并展示了粒子特效的实现效果。同时,提供了在main.js中进行全局配置、在Vue组件中使用粒子背景组件的示例代码,以及完整代码的下载链接。
|
缓存 数据安全/隐私保护 虚拟化
windows端口被占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?
项目运行时服务器8080端口被占用,常规`netstat`命令找不到占用进程。解决方法包括:1) 强制关机重启释放端口;2) 使用`netstat -anobq`或Windows 10的`Get-NetTCPConnection` PowerShell命令查找BOUND状态的进程;3) 调整Windows动态端口范围,避免冲突。注意,强制关机可能影响数据安全。
6076 2
|
Android开发
Android监听USB设备插拔
Android监听USB设备插拔
1910 7
|
监控 C#
C# | 使用Chart动态展示实时折线图数据
实时折线图是展示数据变化趋势的有效方式,可以用于监控系统性能、物理实验、股票走势等多个领域。 在C#中,我们可以使用Chart控件来实现实时折线图的展示,其动态性和可交互性可以帮助用户更好地理解数据。 本文将介绍如何使用Chart控件展示实时折线图数据,希望能帮助读者快速掌握这个技能,应用于实际场景中。
2097 0
C# | 使用Chart动态展示实时折线图数据