使用其名称作为字符串来调用单独的 Windows 窗体

2024-01-10

我需要能够创建一个按钮,当我单击该按钮时,该按钮可以链接到不同的 Windows 窗体。但是,此按钮是动态生成的,有时可以根据需要链接到不同的表单。例如:

我的按钮可以链接到 FormA.vb 或 FormB.vb。我可以让按钮根据需要创建字符串“FormA”或“FormB”,但我不知道如何在屏幕上调用 FormA.vb 或 FormB.vb。

到目前为止,我一直在使用以下方法更改 Windows 窗体:

FormA.MdiParent = MainForm //My main form window
FormA.Show()

Me.Close()

但这显然不适用于:

"FormA".MdiParent = MainForm
"FormA".Show()

很简单,因为它们是字符串而不是类。

有没有办法让我的按钮链接正确?

提前致谢。


试试这个,你必须导入System.Windows.Forms and System.Reflection

首先将表单名称放入strCreatedFromButton然后找到它。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim strCreatedFromButton As String = "Form3"

    Dim frm As New Form
    frm = DirectCast(CreateObjectInstance(strCreatedFromButton), Form)
    frm.Show()
End Sub

Public Function CreateObjectInstance(ByVal objectName As String) As Object
    Dim obj As Object
    Try
        If objectName.LastIndexOf(".") = -1 Then
            objectName = [Assembly].GetEntryAssembly.GetName.Name & "." & objectName
        End If

        obj = [Assembly].GetEntryAssembly.CreateInstance(objectName)

    Catch ex As Exception
        obj = Nothing
    End Try
    Return obj

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

使用其名称作为字符串来调用单独的 Windows 窗体 的相关文章

  • 将 DotNetZip ZipFile 转换为字节数组

    我已经构建了一个包含多个条目的 DotNetZip ZipFile 我想将其转换为字节数组 以便我可以使用下面的下载结构下载它 Using wrkZip As New ZipFile create zip add memory stream
  • 将集合项复制到 .NET 中的另一个集合

    在 NET VB 中 如何获取一个集合中的所有项目 并将它们添加到第二个集合中 而不丢失第二个集合中预先存在的项目 我正在寻找比这更有效的东西 For Each item As Host In hostCollection1 hostCol
  • VB.NET会自动生成ComClass属性和guid吗?

    我运行过一些 VB NET 代码 这些代码显式创建三个 GUID 常量并在类的 ComClass 属性中使用它们 我过去只是通过检查项目选项中的 使 COM 可见 和 注册 COM 互操作 选项来编写 COM 感知类 这个显式代码是否根本没
  • 计算文本框中换行的行数

    我在文本框中有一行文本 并且换行为多行 如何计算文本框中换行的行数 你可以使用String Split int lineCount txt Text Split new n r StringSplitOptions None Length
  • 禁用按钮上的实际文本颜色

    VB2012 我正在创建一个按钮控件并继承自 NET 按钮 从这里夺取基地https blogs msdn microsoft com jfoscoding 2005 11 10 building a splitbutton https b
  • 将跟踪输出重定向到控制台

    假设我正在 VB Net 中开发一个小型批处理控制台应用程序 我希望能够像这样构建应用程序 Sub WorkerMethod Do some work Trace WriteLine Work progress Do more work T
  • 读取 .ini 文件 vb.net?

    我有一个具有读取 ini 文件功能的项目 我无法显示我想要的 ini 文件的内容 我的代码读取 ini 文件 Public Function GetSettingItem ByVal File As String ByVal Identif
  • 终止以 System.Diagnostic.Process.Start("FileName") 启动的进程

    我正在尝试创建一个将在特定时间执行操作的应用程序 很像 Windows 任务计划程序 我当前正在使用 Process Start 来启动任务所需的文件 或 exe 我通过调用文件 mp3 启动一个进程 该进程启动 WMP 因为它是默认应用程
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 为 winforms ComboBox 中的单个项目着色?

    我遇到了一个困境 我有一个表单 其中包含许多组合框 其中包含在某些情况下可能无效 过时的信息 选项 项目 我不能简单地从项目中删除过时的信息 但我确实想在选项无效时为用户提供视觉线索 我正在考虑对项目进行着色 可能是红色 来指示它们是否无效
  • 如何将事件处理程序添加到 VB.NET 中的局部变量

    我在 VB NET 中有一个窗体 用作主窗体中的对话框 它的实例始终是本地定义的 没有对应的字段 当用户单击对话框中的 确定 按钮时 它将触发一个只有一个参数的事件 即我的类之一的实例 由于它始终是局部变量 因此如何为该事件添加事件处理程序
  • 将列表拆分为多个部分 - VB 转换失败

    尝试编写一种将列表拆分为子列表的方法 Private Function SplitIdsIntoChunks ByVal keys As List Of String As List Of List Of String Return key
  • 拆分容器,制作固定面板

    我有一个水平方向的 splitcontainer 我希望仅在表单调整大小期间为 panel2 设置固定高度 并让 splitter 调整 panel2 大小 现在我正在这样做 但我不满意 因为用户注意到面板调整了大小 Private Sub
  • 如何将 POST 请求内容保存为 .NET 中的文件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个客户端应用程序POST请求a
  • vb.net 中的简单 rot13 编码器

    我正在寻找一种简单的方法将输入的文本编码为 Rot13 在能够将单词分离为单个字符和整数以便我可以更改每个字符并输出结果的阶段 我遇到了困难 我可以使用下面列出的简单 if 语句来使用单个字母来完成此操作 但如果有人可以帮助找到整个单词的方
  • 设置外部应用程序焦点

    在 VB NET 中 您可以使用以下命令将焦点设置到外部应用程序 AppActivate Windows Name or AppActivate processID As Integer 现在 如果您这样做 则效果很好 Dim intNot
  • 如何从vb.net插入两个表

    我想将两个值插入到我创建的 SQL 数据库的两个表中 在我的 vb net 代码中 我的问题是 如果我插入它 它会被插入 但仅在一张表中 否则有时它不会进入内部 这是我使用过的代码 c TextBox1 Text sh TextBox2 T
  • VB.NET 密码哈希函数的 PHP 等效项 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有以下 Visual Basic NET 函数 用于生成存储在内部数据库中的密码哈希值 Public Function HashPass
  • 当 InternalsVisibleToAttribute 不是一个选项时,如何使用反射对程序集中的内部(VB 中的 Friend)类进行单元测试?

    我有一个包含两个项目的解决方案 Company Project vbproj Company Project Tests vbproj 内Company Project vbproj集会 我有课FriendClass vb哪个范围是Frie
  • VB换行转义字符?

    在C中我使用 1st line 1 n2nd line 对于换行符 但是 VB 呢 我知道 1st line VbCrLf 2nd line 但它太冗长了 VB中换行符的转义字符是什么 我要打印 1st line 2nd line 我尝试使

随机推荐

  • 唯一标识符 (GUID) 上的聚合函数

    假设我有下表 category guid A 5BC2 A 6A1C B 92A2 基本上 我想要执行以下 SQL SELECT category MIN guid FROM myTable GROUP BY category 它不一定必须
  • 如何将正则表达式与 ANY 数组运算符一起使用

    我有一个包含一系列作者的专栏 我怎样才能使用 运算符来检查其任何值是否与给定的正则表达式匹配 The 运算符在左侧获取要检查的字符串 在右侧获取要匹配的正则表达式 文档说ANY操作员必须在右侧 所以 显然 SELECT p ANY auth
  • 对 XElement 进行排序

    我有一个 XElement 其映射如下
  • XDocument 删除节点

    我有一个 XML 文件
  • 为什么 https 请求在我的 React-Native 应用程序中不起作用?

    在我的React Native应用程序中 http请求工作正常 但是当涉及到https请求时 它给出错误 网络请求失败 这里的问题有点奇怪 就好像我从互联网上选择并运行任何示例 api 一样 即使使用 https 它也可以正常工作 我不知道
  • lxml 使用名称空间而不是 ns0、ns1、

    我刚刚开始了解 lxml 基础知识 但我被命名空间困住了 我需要生成这样的 xml
  • Bootstrap下拉父菜单活动类

    这里的菜鸟 寻找答案 但无法发现我做错了什么 我的菜单在 普通 菜单的活动类中工作正常 但我找不到使父菜单成为 活动 菜单的解决方案 下拉菜单引导 1 代码 li class dropdown a class dropdown toggle
  • 更新/重新加载标记而不重新加载谷歌地图

    我使用以下代码来生成标记引脚 它加载完美 但在这张地图的左侧我有过滤器 如何在不重新加载地图的情况下重新加载标记 这引起了一些挫败感 因此我们将不胜感激 非常感谢 Google map results var contentStrings
  • 如何在C#中使用MessagePack?

    我读了msgpack cli 快速入门 https github com msgpack msgpack cli wiki Quick Start文档 我还获得了 C CLI NuGet 包 v0 3 没有任何课程 例如BoxingPack
  • 如何从表面视图创建和保存屏幕截图? [复制]

    这个问题在这里已经有答案了 我有一个应用程序 我希望能够捕获屏幕截图 这是我的代码 public class Screenshot private final View view Create snapshots based on the
  • MVC:将模型指针传递给视图?

    我有一个 iOS 应用程序正在运行 并且正在尝试清理一些代码结构和实现 我想澄清我对 MVC 的理解并改进我的代码 问题 将模型传递给 UIView 以便视图可以根据模型元素的状态呈现它是否合法 我在下面概述了一个示例 但意识到它可能不清楚
  • 如何将 trix-editor 集成到 Angular 2 应用程序中?

    我正在尝试为我的角度应用程序使用 trix 编辑器 但是 我没有获得任何资源 npm 包来在 Angular 2 应用程序中安装 trix 编辑器 您能帮助我提供资源 步骤吗 我也找不到 angular2 的任何内容 只需设置即可 角度 j
  • PowerShell Get-ExecutionPolicy 返回不同的值

    根据我用于获取 PowerShell 执行策略设置的方法 我得到两个不同的值 如果我跑Get ExecutionPolicy在 PowerShell 提示符中 我得到 不受限制 如果我使用以下代码 我会收到 受限 using var run
  • AndroidManifest.xml 中 Uses-Permission 和 Permissions 标签的区别

    有什么区别Uses Permission and Permissions tag in AndroidManifest xml 我明白了uses permission标签 因为它用于访问互联网 我们的应用程序的位置 但我不明白我们何时以及为
  • 如何导入 Google App Engine 文件夹中的 python 脚本文件?

    我对 Python 和 Google App Engine 都很陌生 我想通过创建文件夹结构来组织我的脚本文件 然而 当我这样做时 我无法再弄清楚如何导入它们 例如 main py eggs spam py 如何在 main py 中导入
  • 我在哪里设置我的公司名称?

    创建新的源文件时 xcode 会添加带有您的姓名和公司名称的注释 我在哪里为 xcode 设置我的公司名称 而不是项目 在 Xcode 4 GM 种子中 在导航窗格中 最左侧 侧 选择项目 顶部项目 展开实用程序窗格 在窗口 右上角 最右边
  • Mapbox GL 弹出窗口 .setDOMContent 示例

    我正在尝试创建一个自定义按钮 以显示在生成动态链接 URL 的弹出窗口中 由于时间原因 我似乎无法通过 setHTML 执行此操作 无法在运行时将按钮绑定到函数 所以我想我应该尝试新的 setDOMContent 关于此功能如何工作的在线信
  • ASP.Net Core docker从服务容器访问服务容器抛出ssl证书错误

    我正在开发一个具有微服务架构的 Web 应用程序 我使用 docker 和 docker compose 来运行我的微服务 我想从前端服务访问 api 但它总是抛出 SSL 证书异常 这告诉我颁发者未通过curl 进行验证 我从演示 MVC
  • 如何在 Flask-SQLAlchemy 应用程序中执行原始 SQL

    如何在 SQLAlchemy 中执行原始 SQL 我有一个 python Web 应用程序 它在 Flask 上运行 并通过 SQLAlchemy 与数据库连接 我需要一种方法来运行原始 SQL 该查询涉及多个表联接以及内联视图 我试过了
  • 使用其名称作为字符串来调用单独的 Windows 窗体

    我需要能够创建一个按钮 当我单击该按钮时 该按钮可以链接到不同的 Windows 窗体 但是 此按钮是动态生成的 有时可以根据需要链接到不同的表单 例如 我的按钮可以链接到 FormA vb 或 FormB vb 我可以让按钮根据需要创建字