热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:在winformappliaction中打开带有表单名称的表单分享

在winformappliaction中打开带有表单名称的表单我想问一下,如何在winformc#中使用帮助或类名打开表单?我有三种不同的forms我从数据库获得这三种forms的

在winform appliaction中打开带有表单名称的表单

我想问一下,如何在winform c#中使用帮助或类名打开表单?

我有三种不同的forms

我从数据库获得这三种forms的许可

在菜单中单击我填充标签属性与此类型的表单

tsmMain.Tag = item.PermissionName tsmMain.Click += new EventHandler(tsmMain_Click); 

我想要做的是在按钮点击动态打开表单并删除这些条件? 我可以用reflection做这个吗?

 ToolStripMenuItem aa = sender as ToolStripMenuItem; var tag = aa.Tag; if (tag == "User Management") { UserManagement oUserForm = new UserManagement(); oUserForm.Show(); } if (tag == "Groups Management") { GroupManagement oGroupForm = new GroupManagement(); oGroupForm.Show(); } 

您可以使用表单的名称作为字符串参数执行以下操作:

 var form = (Form)Activator.CreateInstance(Type.GetType("YourNameSpace.UserManagement")); form.Show(); 

一个简单但不一定非常干净的解决方案是将表单存储在菜单项的Tag属性中,而不是字符串。

在应用程序开始的某个地方,您必须分配这些实例:

 myUserManagementItem.Tag = new UserManagement(); myGroupsManagementItem.Tag = new GroupManagement(); 

然后,在click事件中,您可以将代码缩短为:

 ToolStripMenuItem aa = sender as ToolStripMenuItem; Form form = aa.Tag as Form; form.Show(); 

清洁解决方案包括以下内容:

上述就是C#学习教程:在winform appliaction中打开带有表单名称的表单分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • HBase 数据复制与灾备同步策略
    本文探讨了HBase在企业级应用中的数据复制与灾备同步解决方案,包括存量数据迁移及增量数据实时同步的方法。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
author-avatar
浪子一品香_938
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有