C#使用条件语句判断用户登录身份

news2025/1/19 3:35:48

目录

一、示例

二、生成


        利用条件语句判断用户登录身份,根据用户登录身份的不同,给予相应的操作权限。

一、示例

        主要用if语句及ComboBox控件。其中,ComboBox是窗体中的下拉列表控件,在使用ComboBox控件前,可以先向ComboBox控件的Items集合中添加下拉列表中将要显示的对象(一般为字符串对象),由于Items集合的Add方法接受Object对象,所以任何对象都可以放入Items集合中,ComboBox控件在显示下拉列表时会自动调用Items集合中每一个Object对象的ToString方法,得到字符串对象,并在ComboBox控件中显示。

// 用条件语句判断用户登录身份
namespace _028
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private Button? button1;
        private ComboBox? comboBox1;
        private Label? label1;

        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(105, 76),
                Name = "button1",
                Size = new Size(75, 23),
                TabIndex = 2,
                Text = "登录",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // comboBox1
            //设置DropDownStyle属性为DropDownList,这样可以使用户选择的项为只读
            comboBox1 = new ComboBox
            {
                FormattingEnabled = true,
                Location = new Point(135, 27),
                Name = "comboBox1",
                Size = new Size(121, 25),
                TabIndex = 1,
                DropDownStyle = ComboBoxStyle.DropDownList  
            };
            comboBox1.Items.AddRange(["admin","user"]);
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(60, 35),
                Name = "label1",
                Size = new Size(43, 17),
                TabIndex = 0,
                Text = "用户登录:"
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Dock = DockStyle.Fill,
                Location = new Point(0, 0),
                Name = "groupBox1",
                Size = new Size(284, 111),
                TabIndex = 0,
                TabStop = false,
                Text = "登录"
            };
            groupBox1.Controls.Add(button1);
            groupBox1.Controls.Add(comboBox1);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();
            
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(284, 111);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "判断用户登录身份";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
            ResumeLayout(false);
        }

        private void Button1_Click(object? sender, EventArgs e)
        {
            if (comboBox1!.SelectedItem!.//判断用户登陆信息
                ToString() == "admin")
            {
                MessageBox.Show(         //如果是admin登陆则提示管理员登陆
                    "管理员登陆", "提示!");
            }
            else
            {
                MessageBox.Show(         //如果是user登陆则提示普通用户登陆
                    "普通用户登陆", "提示!");
            }
        }
    }
}

二、生成

 

     如果不希望用户更改ComboBox下拉列表中选中的内容,可以设置DropDownStyle属性为DropDownList,这样登录选项就变成了只读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1344988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring6入门

1、入门 1.1、环境要求 JDK:Java17(Spring6要求JDK最低版本是Java17)Maven:3.6Spring:6.1.2 1.2、构建模块 (1)构建父模块spring6 在idea中,依次单击 File -> New -> Proj…

Vue3-30-路由-嵌套路由的基本使用

什么是嵌套路由 嵌套路由 &#xff1a;就是一个组件内部还希望展示其他的组件&#xff0c;使用嵌套的方式实现页面组件的渲染。 就像 根组件 通过路由渲染 普通组件一样&#xff0c;嵌套路由也是一样的道理。 嵌套路由的相关关键配置 1、<router-view> 标签 声明 被嵌套组…

乒乓球廉价底板及套胶评测4

球拍找到适应自己的不容易&#xff0c;因为初学者或者说业余爱好者无法确定是按打法特点选拍还是按拍子练打法特点&#xff0c;所以有时候就要孤注一掷&#xff0c;想想练球的初衷&#xff0c;不用被打的好的对手所左右。我和朋友打球的时候发现大家借力的能力越来越强&#xf…

三巨头对决:深入了解pnpm、yarn与npm

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 三巨头对决&#xff1a;深入了解pnpm、yarn与npm 前言包管理器简介npm&#xff08;Node Package Manager&#xff09;&#xff1a;Yarn&#xff1a;pnpm&#xff08;Performant Npm&#xff09;&#…

FL Studio 21.2.2官方中文版重磅发布

纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01; Mac版新增对苹果M2/1家族芯片原生支持。 丰富的主题换肤 现在大家可以通过控制色调、饱和度、亮度、文本、仪表和步进序列器的颜色来改变你的DAW外观&#xff0c; DAW“情绪…

Docker 概述以及整体架构

文章目录 一、Docker概述1.1 什么是 Docker1.2 Docker 如何工作1.3 底层技术 二、Docker架构2.1 Docker 整体架构2.2 Docker daemon2.3 Docker client2.4 Docker registries2.5 Docker objects2.6 Docker Desktop 参考资料 一、Docker概述 1.1 什么是 Docker Docker是一个用于…

JVM工作原理与实战(二):字节码编辑器jclasslib

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、字节码编辑器jclasslib介绍和安装 1.介绍 2.安装 3.IntelliJ IDEA 插件安装 二、字节码编辑器jclasslib的使用 1.使用jclasslib bytecode viewer打开字节码文件 2.使用Intell…

Spring 是如何解决循环依赖的

1.什么是循环依赖? 所谓的循环依赖是指&#xff0c;A 依赖 B&#xff0c;B 又依赖 A&#xff0c;它们之间形成了循环依赖。或者是 A 依赖 B&#xff0c;B 依赖 C&#xff0c;C 又依赖 A。它们之间的依赖关系如下&#xff1a; 2.通过手写代码演示理解Spring循环依赖 DEMO: pu…

模型性能评估简介

模型评估 混淆矩阵 Positive - 正例Negative (N) - 负例 结果: 预测为正类别 预测为负类别 真实为正类别 True Positive (TP) False Negative (FN) 真实为负类别 False Positive (FP) True Negative (TN)TP - 预测 P, 实际 P, 模型预测正确FP - 预测 P, …

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

2023十大编程语言及未来展望

2023十大编程语言及未来展望 1. 2023年十大编程语言排行榜2. 十大编程语言未来展望PythonCCJavaC#JavaScriptPHPVisual BasicSQLAssembly language 1. 2023年十大编程语言排行榜 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量&#xff0c;并使用搜索引擎&a…

vivado CDC约束-约束总线偏移

CDC限制 关于CDC约束 时钟域交叉&#xff08;CDC&#xff09;约束适用于具有不同启动和捕获时钟。根据发布和捕获时钟关系以及在CDC路径上设置的定时异常。例如同步时钟之间但被错误路径约束覆盖的CDC路径不定时&#xff0c;并且因此被视为异步CDN。异步CDC路径可以是安全的&…

CentOS7安装部署Zookeeper

文章目录 CentOS7安装部署Zookeeper一、前言1.简介2.架构3.集群角色4.特点5.环境 二、正文1.部署服务器2.基础环境1&#xff09;主机名2&#xff09;Hosts文件3&#xff09;关闭防火墙4&#xff09;JDK 安装部署 3.单机部署1&#xff09;下载和解压2&#xff09;配置文件3&…

Vue: 事件修饰符, 键盘事件, 鼠标事件,计算属性

目录 事件修饰符 阻止默认事件 阻止冒泡 允许触发一次 捕获模式 self passive 键盘事件 keyup & keydown 按键别名 注意tab 注意系统按键 自定义按键 鼠标事件 简介 鼠标焦点事件 计算属性 差值语法实现 methods实现 computed实现 get() set() 总…

基于AM62x的ARM+FPGA+Codesys低成本软PLC解决方案

GPMC并口简介 GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口&#xff0c;支持8/16bit数据位宽&#xff0c;支持128MB访问空间&#xff0c;最高时钟速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等处理器专用于与外部存储器设备的接口…

IP地理位置定位技术基本原理

IP地理位置定位技术的基本原理是基于IP地址的特性。每个IP地址在网络中都有一个与之对应的地理位置信息&#xff0c;这是通过IP地址数据库来确定的。这个数据库由ISP&#xff08;Internet Service Provider&#xff09;或其它一些机构维护&#xff0c;其中包含了每个IP地址的地…

openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅

文章目录 openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅179.1 发布179.2 订阅179.3 冲突处理179.4 限制179.5 架构179.6 监控179.7 安全性179.8 配置设置179.9 快速设置 openGauss学习笔记-179 openGauss 数据库运维-逻辑复制-发布订阅 发布和订阅基于逻辑复…

Java核心知识点1-java和c++区别、隐式和显示类型转换

java和c区别 java通过虚拟机实现跨平台特性&#xff0c;但c依赖于特定的平台。java没有指针&#xff0c;它的引用可以理解为安全指针&#xff0c;而c和c一样具有指针。java支持自动垃圾回收&#xff0c;而c需要手动回收。java不支持多重继承&#xff0c;只能通过实现多个接口来…

Java集合/泛型篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、ArrayList和linkedList的区别二、HashMap和HashTable的区别三、Collection包结构,与Collections的区别四、泛型常用特点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站…

swing快速入门(三十二)消息对话框

注释很详细&#xff0c;直接上代码 上一篇 新增内容 1.自定义对话框前列图标 2.消息对话框的若干种形式 package swing21_30;import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent;public class swing_test_30 {// 定义一个JFrameJFrame jFrame n…