WinForm c#:检查首次运行并显示消息

2023-12-14

我正在创建一个包含首次运行检查的 winform 应用程序。我一直在关注这两篇文章:

  • 如何检查程序是否是第一次运行?
  • C# 中的 Windows 窗体用户设置

首次运行检查应该检查应用程序是否曾经运行过,如果没有运行过,它应该向用户显示一些消息。 我遇到的问题是显示此消息beforewinform 应用程序已初始化/显示,我无法找出原因。 这是我的代码:

程序.cs

public static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

Form1.cs

public Form1()
{
    this.InitializeComponent();
    CheckFirstRun();
}

private static void CheckFirstRun()
{
    if(Settings.Default.FirstRun)
    {
        MessageBox.Show(
            "First run");
        Settings.Default.FirstRun = false;
        Settings.Default.Save();
}

它显示带有消息的消息框:“首次运行”,单击“确定”按钮后,它显示 WinForm。我想要实现的是首先显示 WinForm,如果它是第一次运行,则显示此 msgBox。

有任何想法吗?


而不是打电话CheckFirstRun()从构造函数中你可以调用它表格所示

表格显示事件

Shown 事件仅在第一次显示表单时引发; 随后最小化、最大化、恢复、隐藏、显示或 失效和重画不会引发此事件

private void Form1_Shown(Object sender, EventArgs e) 
{
    CheckFirstRun();
}

覆盖 OnShown

OnShown 方法还允许派生类在不附加委托的情况下处理事件。这是在派生类中处理事件的首选技术,MSDN

继承人须知在派生类中重写 OnShown 时,请务必调用基类的 OnShown 方法,以便注册的委托接收事件,MSDN.

protected override void OnShown(EventArgs e)
{
    base.OnShown(e);
    CheckFirstRun();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinForm c#:检查首次运行并显示消息 的相关文章

随机推荐

  • jQuery Mobile 如何在 jsfiddle.net 中工作?

    I have 这个简单的小提琴 它使用 jQuery mobile 但它不起作用 问 我缺少什么 在 管理资源 下 您还需要添加 jQM css 文件 http code jquery com mobile 1 0b2 jquery mob
  • 在 TemplateField 中用 Headertemplate 替换 HeaderText

    我有一个带有模板字段列的网格视图 TemplateFields 是这样的
  • sklearn 中留一交叉验证的 ROC 曲线

    我想绘制一个ROC曲线的分类器使用留一法交叉验证 好像有人问过类似的问题here但没有任何答复 在另一个问题中here据称 为了使用 LeaveOneOut 获得有意义的 ROC AUC 您需要 计算每次折叠的概率估计 每个折叠只包含 一个
  • 在 Android 中模拟键盘事件

    我有一个项目 我正在尝试触发键盘事件 我正在使用 Instrumentation Class 它在模拟器上运行得很好 但是当我在我的设备上启动它时 调用不起作用 有什么办法让它工作吗 另外 我在网上搜索了一些关于 IWindowManage
  • “npm run build”失败并出现 SyntaxError:Unexpected token

    我正在尝试将我的应用程序部署到 AWS 但在执行 npm run build 时遇到错误 这个错误似乎与 webpack config js 有关 但我不知道 因为我没有对该文件进行任何修改 我在这里发现了一个类似的问题 但没有多大帮助 S
  • 如何在 XAMPP 下配置 MySQL 以使用 IPv6 [关闭]

    Closed 这个问题是无关 目前不接受答案 我有 XAMPP v 3 1 0 出于测试目的 我需要使用 IPv6 格式连接到 MySQL 数据库 如何配置MySQL 找到我的 ini 更改 取消注释bind address for ipv
  • is_const::value 为 false ——为什么? [复制]

    这个问题在这里已经有答案了 为什么这个静态断言会触发 static assert std is const
  • 在 vue.js 路由加载之前检查权限

    有谁知道如何在渲染 vue js 路由之前检查用户的权限 我通过检查权限提出了部分解决方案created组件的阶段 created function var self this checkPermissions function resul
  • 如何使用 JavaConfig 从 Spring Security 中删除 ROLE_ 前缀?

    我正在尝试删除 Spring Security 中的 ROLE 前缀 我尝试的第一件事是 http servletApi rolePrefix 这不起作用 所以我尝试创建一个BeanPostProcessor如建议的http docs sp
  • 生命游戏数组索引越界

    我正在玩康威的生命游戏 我很确定我即将完成 但是当我运行它时 我得到Exception in thread main java lang ArrayIndexOutOfBoundsException 1 at game of life Ga
  • 从表中选择 *,其中日期 = 今天

    需要 PHP MySql 帮助 需要选择 今天 的所有记录 我的表有一列包含 unix 时间戳 我只想从表中选择 unix 时间戳 今天 很高兴在 Linux 命令行上执行此操作 只需要基本的 MySql 查询 我会选择 SQL 版本 SE
  • 显示 BLOB 图像 Laravel 4

    我在 mysql 上添加了 png 图像作为 BLOB 但是当我尝试检索它们时 我将它们作为文件获取 但无法显示为图像 下面是我的代码 控制器 public function post news image Input file image
  • 控制 ASP.Net MVC 中的输出缩进

    我的同事非常 热衷 将格式正确且缩进的 html 传送到客户端浏览器 这是为了使页面源代码易于被人阅读 首先 如果我有一个在站点中多个不同区域使用的部分视图 渲染引擎是否应该自动为我设置缩进格式 例如在 XmlTextWriter 上设置
  • ImageView圆角[重复]

    这个问题在这里已经有答案了 我希望图像有圆角 我实现了这个 xml 代码并在我的图像视图中使用它 但图像与形状重叠 我正在通过异步任务下载图像
  • ios音频单元remoteIO录音时播放

    我被要求将 VOIP 添加到游戏中 跨平台 因此无法使用 Apple gamekit 来做到这一点 已经有三四天了 我一直在努力让我的注意力集中在音频单元和远程IO上 我忽略了数十个示例等 但每次都只是对输入 PCM 应用简单的算法并在扬声
  • 使用 NSXMLParser 解析 XML

    我有一个关于 xml 解析的问题 通常 XML文件的样式是这样的
  • 如何在spark scala中使用带有2列的array_contains?

    我有一个问题 我想检查字符串数组是否包含另一列中存在的字符串 我目前正在使用下面的代码 该代码给出了错误 withColumn is designer present when array contains col list of desi
  • R 中的双冒号 (::) 是什么?

    我正在关注 Rbloggers 中的教程 发现双冒号的使用 我在网上查找 但找不到其使用的解释 这是它们的使用示例 df lt dplyr data frame year c 2015 NA NA NA trt c A NA B NA 我知
  • Greasemonkey @require 在 Chrome 中不起作用

    我正在尝试使用 Greasemonkey 添加 jQuery require include方法 但是不起作用 显示以下错误 Uncaught ReferenceError is not defined repeated 10 times
  • WinForm c#:检查首次运行并显示消息

    我正在创建一个包含首次运行检查的 winform 应用程序 我一直在关注这两篇文章 如何检查程序是否是第一次运行 C 中的 Windows 窗体用户设置 首次运行检查应该检查应用程序是否曾经运行过 如果没有运行过 它应该向用户显示一些消息