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

目录

一、示例

二、生成


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

一、示例

        主要用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.mzph.cn/news/601760.shtml

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

相关文章

springboot实现ChatGPT式调用(一次调用,持续返回)

下边实现了一个持续返回100以内随机数的接口,在接口超时之前会每隔1秒返回一个随机数 GetMapping(value "/getRandomNum", produces MediaType.TEXT_EVENT_STREAM_VALUE) public SseEmitter getRandomNum() {SseEmitter emitter new SseEmitter();Th…

【airsim】python控制airsim

使用airsim 1.8.1编译完成,进过block项目在cpp测试后,开始踩坑使用python。 使用AirSim\PythonClient\setup.py或者pip安装airsim。 python setup.py install或者 pip install airsim此时,windows电脑的环境信息 (air_py38) D:\code\Gith…

如何计算CAN通信波特率

目录 1、理论 2、实践 3、注意事项 在CAN总线系统中,波特率的计算是一个关键步骤,它确保网络上的所有设备能够以相同的速率进行通信。 1、理论 波特率的计算涉及到几个关键参数,包括CAN控制器的时钟频率、分频因子、以及位时间的不同部分…

vue icon 本地正常 线上打包失败变乱码

出现这个原因是因为sass解析的问题 Node版本高的话可以通过升级sass版本 并且配置vue.config规避这个问题 //给sass配置的东西 这个对应的版本是sass 1.39.0 本人node版本v14 升级sass版本后出现报错css: {loaderOptions: {scss: {additionalData: import "/styles/var…

JVM知识总结(简单且高效)

1. JVM内存与本地内存 JVM内存:受虚拟机内存大小的参数控制,当大小超过参数设置的大小时会报OOM。本地内存:本地内存不受虚拟机内存参数的限制,只受物理内存容量的限制;虽然不受参数的限制,如果所占内存超过…

软件工程概论------文件管理

目录 1.文件的相关概念 2.文件目录 3.位示图 4.索引文件 5.例题 1.文件的相关概念 文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。 逻辑结构:有结构的记录式文件、无结构的流式文件。 物理结构: 连续结构、链接结构、索引结构、多个物理块的索引表。 …

ROS-arbotix安装

方式一:命令行输入: sudo apt-get install ros-melodic-arbotix如果ROS为其他版本,可将melodic替换为对应版本。 方式二: 先从 github 下载源码,然后调用 catkin_make 编译 git clone https://github.com/vanadiumla…

MySQL--基础篇

这里写目录标题 总览MySQl各个阶段基础篇总览 MySQL概述数据库相关概念查看本机MySQL版本号启停mysql打开windows服务管理windows命令行启停 连接mysql客户端mysql运行逻辑数据模型关系型数据库 总结 SQL总览SQL通用语法SQL语句分类DDL数据库操作表操作查询表创建表结构数据类型…

sublim安装Autoprefixer插件

有时候在写css样式的时候,分不清哪些属性需要前缀,哪些不需要写前缀,sublime text这款编辑器下安装autoprefixer这款插件可以省去很多问题,写起来也很方便。1 确保系统已经安装node.js 可直接去官网上下载并安装,我的系…

c语言:用结构体找出学生年龄|练习题

一、题目 在结构体数组中&#xff0c;输入学生信息&#xff0c;找出学生的年龄。 如图&#xff1a; 二、代码图片【带注释】 三、源代码【带注释】 #include <stdio.h> //设置结构体&#xff0c;结构体有3个变量 struct student { int id; char name[20]; …

BMTrain来高效训练预训练模型-大模型的福音

一.背景知识 在2018年&#xff0c;预训练语言模型技术的出现成为人工智能领域一场革命性的变革。研究表明&#xff0c;通过增加模型参数量和训练数据规模&#xff0c;可以有效提升语言模型的性能&#xff0c;因此十亿、百亿甚至千亿级大模型的探索成为业界的热门话题。这一趋势…

使用Spring Cache优化数据库访问

使用Spring Cache优化数据库访问 在这篇博客中&#xff0c;我们将学习如何使用Spring Cache来优化数据库访问&#xff0c;提高系统性能。我们将创建一个简单的图书管理应用作为示例&#xff0c;并演示如何通过缓存减少对数据库的频繁查询。 1. 项目结构 首先&#xff0c;我们…

使用vite构建Vue3项目

1、安装vite npm init vitelatest npm构建vite项目 yarn create vite yarn构建vite项目2、依次需要配置项目名 、框架选择、原生和ts版本的选择 r enter 重新开始服务 o enter 快速打开浏览器3、项目启动效果

TCP_可靠数据传输原理

引言 在网络通信中&#xff0c;TCP是确保数据可靠传输的关键协议。但在我们深入研究TCP拥塞控制技术之前&#xff0c;让我们先探索可靠数据传输的原理&#xff0c;特别是TCP头部中一些重要字段的作用。 网络层提供了点对点的通信服务&#xff0c;努力交付数据报&#xff0c;但…

Python课程设计基于python的人脸识别佩戴口罩系统设计

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;python口罩 获取完整论文报告源码源文件 1 研究背景与意义 新型冠状病毒展现出全球化流行和蔓延的趋势&#xff0c;这提醒我们&#xff1a;传染病防治在今后相当长时间内仍是疾病预测控制工作的重点。戴口罩是预防呼吸道…

Qt应用-实现图像截取功能类似QQ上传头像截取功能

本文演示利用Qt实现图像截取功能类似QQ上传头像截取功能。 效果如下,通过移动中间的裁剪区域可以获得一张裁剪后的图片。 目录

UE4运用C++和框架开发坦克大战教程笔记(十四)(第43~45集)

UE4运用C和框架开发坦克大战教程笔记&#xff08;十四&#xff09;&#xff08;第43~45集&#xff09; 43. 单个加载 UObject 功能获取资源 URL 链接实现异步加载单个 UObject 类型资源 44. 批量加载 UObject 功能测试加载单个 UObject 资源批量加载多个同类的 UObject 资源 45…

c# OpenCvSharp透视矫正参数调整器

透视矫正不够智能化&#xff0c;每次都要进行局部参数调整&#xff0c;不便于程序使用&#xff0c;程序流程还是那几个步骤&#xff1b; 1、读取图像、灰度化 2、高斯滤波 3、二值化 4、边缘检测 灰度化图 上个图看看经过调整透视矫正边缘检测结果我还是挺满意的 发现一个…

MongoDB数据类型详解

BSON 协议与数据类型 MongoDB 为什么会使用 BSON&#xff1f; JSON 是当今非常通用的一种跨语言 Web 数据交互格式&#xff0c;属 ECMAScript 标准规范的一个子集。JSON &#xff08;JavaScript Object Notation&#xff0c;JS 对象简谱&#xff09;即 JavaScript 对象表示法…

开源项目 | 完整部署流程、一款开源人人可用的开源数据可视化分析工具

&#x1f4da; 项目介绍 在互联网数据大爆炸的这几年&#xff0c;各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具&#xff0c;我们能够大幅提升数据分析效率、生成更高质量的项目报告&#xff0c;让用户通过直观的数据看到结…