C#笔记1--如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块

本文主要是介绍C#笔记1--如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    C#如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块

        写winform程序的时候,相信很多人都想在登录的时候根据用户类型使主界面的ToolStripMenuItem选项部分禁止,从而达到不同类型各司其职的效果,下面说一说如何实现着一功能!

        如下图,登录时候判断用户类型,根据判断的用户类型使不同类型管理员只能使用对应的模块!

首先,在主界面右键点击,选择对应模块,enabled选项设置为false,如上设置了4个false。

其次,在属性中设置Modifiers属性为public,只有设置了这个属性才能在其它窗体设置该窗体的ToolStripMenuItem属性。

如下图,将默认的private改为public:

然后,在登录事件中添加事件了,部分代码如下:

                          if (myherlper.Rtype(txt_id.Text) == 6) //系统管理员
                            { 
                                this.Hide();
                                Reader.common com = new Reader.common();  //new 一个主窗体
                                com.系统管理ToolStripMenuItem.Enabled = true;  //设置主窗体的系统管理可用
                                com.ShowDialog();  //此处应用showdialog,否则会出现两个窗口,有一个不符合要求                               
                            }

判断是否为系统管理员,若是则设置主窗口中的系统管理ToolStripMenuItem.Enabled 为可操作!

运行程序效果如下:

系统管理员只能使用系统管理员功能了,其它管理员功能仍然是false

         本功能实现的要点是设置该控件相应地方的Modifiers属性为public,这和C#中的类是一样的,添加一个类的话默认也是private属性,需要自己修改为public才可以在其它地方调用!

         至此,可以在子窗口设置主窗口的控件的enabled属性了!IT学习需要各位的分享,望大家发扬分享精神!

 

 

 

 

这篇关于C#笔记1--如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017156

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque