C#中容器控件GroupBox、Panel、TabControl

2024-06-11 23:32

本文主要是介绍C#中容器控件GroupBox、Panel、TabControl,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



实现如图所示登录界面,当输入正确用户名及密码时,转到主界面,否则给出错误提示。要求不同身份的登陆者拥有不同的操作权限。

          

源代码:

1.初始化三个string类型的变量分别用来存储用户名、密码和身份。

[csharp] view plain copy
print?
  1. string yhm, mm, sf;  

[csharp] view plain copy
print ?
  1. private void Form1_Load(object sender, EventArgs e)  
  2.         {  
  3.             yhm=mm="";  
  4.             sf=radioButton1.Text;  
  5.         }  
private void Form1_Load(object sender, EventArgs e){yhm=mm="";sf=radioButton1.Text;}

2.为三个单选按钮添加CheckedChanged事件处理程序

1>学生:

[csharp] view plain copy
print ?
  1. private void radioButton1_CheckedChanged(object sender, EventArgs e)  
  2.         {  
  3.             if(radioButton1.Checked)  
  4.             {  
  5.                 sf=radioButton1.Text;  
  6.                 checkBox1.Checked = true;  
  7.                 checkBox2.Checked=checkBox3.Checked=checkBox4.Checked=checkBox5.Checked=false;  
  8.             }  
  9.           
  10.         }  
private void radioButton1_CheckedChanged(object sender, EventArgs e){if(radioButton1.Checked){sf=radioButton1.Text;checkBox1.Checked = true;checkBox2.Checked=checkBox3.Checked=checkBox4.Checked=checkBox5.Checked=false;}}

2>教师:

[csharp] view plain copy
print ?
  1. private void radioButton2_CheckedChanged(object sender, EventArgs e)  
  2.        {  
  3.            if (radioButton2.Checked)  
  4.            {  
  5.                sf = radioButton2.Text;  
  6.                checkBox1.Checked=checkBox2.Checked = true;  
  7.                checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = false;  
  8.            }  
  9.          
  10.        }  
 private void radioButton2_CheckedChanged(object sender, EventArgs e){if (radioButton2.Checked){sf = radioButton2.Text;checkBox1.Checked=checkBox2.Checked = true;checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = false;}}


3>管理员:

[csharp] view plain copy
print ?
  1. private void radioButton3_CheckedChanged(object sender, EventArgs e)  
  2.         {  
  3.             if (radioButton3.Checked)  
  4.             {  
  5.                 sf = radioButton3.Text;  
  6.                 checkBox1.Checked = checkBox2.Checked = checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = true;  
  7.             }  
  8.           
  9.         }  
private void radioButton3_CheckedChanged(object sender, EventArgs e){if (radioButton3.Checked){sf = radioButton3.Text;checkBox1.Checked = checkBox2.Checked = checkBox3.Checked = checkBox4.Checked = checkBox5.Checked = true;}}

3.为四个Button按钮添加Click事件:

1>确定:

[csharp] view plain copy
print ?
  1. private void button1_Click(object sender, EventArgs e)  
  2.        {  
  3.            yhm = textBox1.Text.Trim();  
  4.            mm = textBox2.Text.Trim();  
  5.            if (yhm == "xs" && mm == "xs" && sf == "学生")  
  6.            {  
  7.                tabControl1.SelectedTab = tabPage2;  
  8.                panel2.Visible = true;  
  9.                button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = false;  
  10.                panel1.Visible = false;  
  11.            }  
  12.   
  13.   
  14.            else if (yhm == "js" && mm == "js" && sf == "教师")  
  15.            {  
  16.                tabControl1.SelectedTab = tabPage2;  
  17.                panel2.Visible = true;  
  18.                button3.Enabled=button4.Enabled = true;  
  19.                button5.Enabled = button6.Enabled = button7.Enabled = false;  
  20.                panel1.Visible = false;  
  21.            }  
  22.   
  23.            else if (yhm == "gly" && mm == "gly" && sf == "管理员")  
  24.            {  
  25.                tabControl1.SelectedTab = tabPage2;  
  26.                panel2.Visible = true;  
  27.                button3.Enabled=button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = true;  
  28.                panel1.Visible = false;  
  29.            }  
  30.   
  31.            else  
  32.                MessageBox.Show("用户名或密码错误","登录失败");  
  33.        }  
 private void button1_Click(object sender, EventArgs e){yhm = textBox1.Text.Trim();mm = textBox2.Text.Trim();if (yhm == "xs" && mm == "xs" && sf == "学生"){tabControl1.SelectedTab = tabPage2;panel2.Visible = true;button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = false;panel1.Visible = false;}else if (yhm == "js" && mm == "js" && sf == "教师"){tabControl1.SelectedTab = tabPage2;panel2.Visible = true;button3.Enabled=button4.Enabled = true;button5.Enabled = button6.Enabled = button7.Enabled = false;panel1.Visible = false;}else if (yhm == "gly" && mm == "gly" && sf == "管理员"){tabControl1.SelectedTab = tabPage2;panel2.Visible = true;button3.Enabled=button4.Enabled = button5.Enabled = button6.Enabled = button7.Enabled = true;panel1.Visible = false;}elseMessageBox.Show("用户名或密码错误","登录失败");}


2>取消:

[csharp] view plain copy
print ?
  1. private void button2_Click(object sender, EventArgs e)  
  2.         {  
  3.             this.Close();  
  4.         }  
private void button2_Click(object sender, EventArgs e){this.Close();}


3>注销登录:

[csharp] view plain copy
print ?
  1. private void button8_Click(object sender, EventArgs e)  
  2.         {  
  3.             panel1.Visible = true;  
  4.             panel2.Visible = false;  
  5.             textBox1.Text = textBox2.Text = "";  
  6.             radioButton1.Checked = true;  
  7.             tabControl1.SelectedTab = tabPage1;  
  8.         }  
private void button8_Click(object sender, EventArgs e){panel1.Visible = true;panel2.Visible = false;textBox1.Text = textBox2.Text = "";radioButton1.Checked = true;tabControl1.SelectedTab = tabPage1;}


4>退出系统:

[csharp] view plain copy
print ?
  1. private void button9_Click(object sender, EventArgs e)  
  2.         {  
  3.             Application.Exit();  
  4.         }      
private void button9_Click(object sender, EventArgs e){Application.Exit();}    

运行结果展示图:




这篇关于C#中容器控件GroupBox、Panel、TabControl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建