视觉基础。根据变量的值更改代码中的默认启动形式

2023-12-06

我一直在 Visual Studio 中处理 Visual Basic 项目并遇到问题。

我知道项目设计器的应用程序页面中的启动表单属性可以更改为默认表单,但是我需要的是一种通过 ApplicationEvents.vb 中的代码根据应用程序设置中变量的值来执行此操作的方法。

目标是,如果用户完成表单,则将值分配给变量,例如变量用户名=“xxx”。如果此值为 true,则默认启动是登录表单(因为用户已经注册),如果为 false,则默认启动为注册表单。

我很感激我可以使用另一种形式来确定这一点,但这似乎是我浪费了 ApplicationEvents 的功能并且没有正确使用它(我也想避免空白表单在决定时不可避免的闪烁)。

我知道默认表单存储在 Application.myapp 中,但是随着 .exe 的最终发布,该文件(大概)不会随之导出,因此我想避免直接写入它。我还阅读了 windowsformsapplicationbase.mainform 属性,但是不知道如何使用它?

这是来自 ApplicationEvents.vb 的一段示例代码,用于演示我的问题。

 If String.IsNullOrEmpty(My.Settings.username) Then
     MsgBox("You have not registered")
     'set register as default form
 Else
     MsgBox("You have registered")
     'set login as default form
 End If

通常,如果您需要对启动时发生的情况进行大量控制,您只需禁用应用程序框架即可。为此,只需取消选中启用应用程序框架中的复选框应用的选项卡我的项目设置设计器窗口。取消选中后,您将能够更改启动对象 to Sub Main。然后你可以添加一个新模块Main方法,像这样:

Module Module1
    Public Sub Main()
        Application.EnableVisualStyles()
        If String.IsNullOrEmpty(My.Settings.username) Then
            Application.Run(New RegisterForm())
        Else
            Application.Run(New LoginForm())
        End If
    End Sub
End Module

但请注意,通过禁用应用程序框架,您将失去它提供的其他自动功能,例如ApplicationEvents。如果你想使用应用程序框架,你可以通过简单地设置来完成同样的事情MyApplication.MainForm财产在MyApplication.Startup event:

Partial Friend Class MyApplication
    Private Sub MyApplication_Startup(sender As Object, e As ApplicationServices.StartupEventArgs) Handles Me.Startup
        If String.IsNullOrEmpty(My.Settings.username) Then
            Me.MainForm = New RegisterForm()
        Else
            Me.MainForm = New LoginForm()
        End If
    End Sub
End Class

或者,您可以始终显示相同的表单,但随后让表单只包含一个UserControl。然后你可以简单地切换哪个UserControl根据设置显示。用户控件需要包括原本放置在两个不同窗体上的所有控件。

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

视觉基础。根据变量的值更改代码中的默认启动形式 的相关文章

  • Visual Studio 多个启动项目之间存在延迟?

    如何在解决方案中的启动项目之间添加一些延迟 我希望客户端项目在启动 WindowsService 后 2 3 秒后启动 为什么我需要这个 WindowsService运行socket服务器 Client运行socket来连接服务器 Wind
  • JavaScript 表单提交 - 确认或取消提交对话框

    对于带有询问字段是否填写正确的警报的简单表单 我需要一个执行此操作的函数 单击按钮时显示警告框 有两个选项 如果单击 确定 则提交表单 如果单击 取消 警报框将关闭 并且可以调整并重新提交表单 我认为 JavaScript 确认可以工作 但
  • 使用 VB.NET 检查 Word 文档中的字体样式

    我想使用vb net检查一个word文件 并检查文档中的样式是否正确 我必须在word文档中检查这些表达式 a Verdana 16 pt Bold Red b Verdana 12 pt Bold Italic Blue c Verdan
  • 在 Visual C++ 中创建“添加新项向导”

    也许我没有使用正确的关键字进行搜索 但我无法找到有关如何在 Visual Studio Community 2013 中为 C 项目制作自己的 添加新项向导 的文档 我想要实现的是能够将新的无扩展源文件添加到我的 C 项目中Project
  • 颤振动态形式无法正常工作

    在我的应用程序中 我想创建一组动态表单 用户可以在其中添加更多项目 在这种动态形式中 它由两个文本字段 1 电话字段 2 电子邮件字段和一个下拉字段组成 但我尝试的任何事情都无法正常工作 我已经要求修复我的代码 但没有得到答复 堆栈溢出问题
  • 将属性标记中的值提交到操作表单

    The JSP
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 将 PDF 嵌入到 WPF 应用程序中

    我正在尝试在 WPF 应用程序中嵌入 显示 PDF 到目前为止 我已经尝试过这些解决方案 但没有成功 在 a 中显示 PDFWindowsFormsHost主持一个AxAcroPdf控制 类似于显示的内容here http hugeonio
  • 如何为名称为数组的 jquery 表单验证插件创建规则?

    有谁知道当您有一个数组的名称属性时如何为 jquery 表单验证插件创建规则 eg
  • 在 VS 2013 中添加新项目时,“已安装”下没有任何内容?

    我正在尝试在 Visual Studio 2013 中添加一个新的 C C 文件项 但是 当我单击 添加新项目 时 已安装 下绝对没有任何内容 我在找Visual C gt C 安装下 可能出了什么问题 有什么我应该安装的吗 在 在线 下
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • VB.NET 类或模块的用途是什么?

    这里是新手酱 所以 我试图找到答案 但找不到 拥有类或模块的目的是什么 我读到的所有内容都试图告诉我它是什么 但不是它的用途 为什么我需要制作一个 我读到的所有内容似乎都对阅读教程的人做出了假设 就好像我知道很多一样 模块实际上与仅包含共享
  • Visual Studio 2013 及更高版本的 Windows 菜单中缺少新的垂直选项卡组?

    我刚刚迁移到 Visual Studio 2013 找不到垂直分割代码窗口的方法 因此我并排有两个不同的文件 在以前的版本中 我可以创建一个新窗口 然后通过选择将其移动到新选项卡创建新的垂直选项卡组从 Windows 菜单 现在我只看到创建
  • 如何在 Express (NodeJS) 中验证和处理表单

    Express 是否有首选的表单处理和验证库 我真的在寻找与 Django 表单中类似的抽象级别 即模板中的验证和错误报告 如果可以在客户端使用相同的验证 那就太好了 有人用过或者写过什么好东西吗 看起来有一个模块位于https githu
  • Visual Studio 中的项目不可信?

    打开最近下载的项目时 Visual Studio 2013 会简短警告您仅打开来自可靠来源的项目 开设项目有哪些风险 项目在编译之前会对您的系统造成任何损害吗 可能会造成什么损害 在实际从 不可信 来源打开项目之前 您应该注意哪些指标 不是
  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • 如何使用正则表达式验证带有可选百分比符号的小数?

    正如问题的标题 我需要使用以下值验证正则表达式 最多 2 个小数位和 9 个整数 带有可选的百分比符号 Valid 10 0 1111111 12 15 2 10 2 3 Invalid 12 02 123456789123 123 I t
  • 确定最接近的已知颜色

    我允许我的应用程序的用户选择自定义颜色 并希望有一种方法来显示每种颜色的友好名称 而不是显示十六进制代码的文本表示形式 我如何找到最近的System Drawing Color对于给定的十六进制代码 希望这对某人有帮助 Public Fun
  • Program.cs 已损坏

    My Program cs今天下午文件工作正常 我关闭了 Visual Studio VS2013 Express 并关闭了我的计算机 然后今天晚上我再次打开电脑Program cs现在看起来像这样 f R gt l P G s q Y N
  • Calendly 未在 Webflow 中预填写表单

    我在 Webflow 项目中使用 Calendly 并且它有效 不过 我想在 Calendly 中预先填写表格 这里有一个指南 https help calendly com hc en us articles 226766767 Pre

随机推荐