C# WinForm制作登录界面的实现步骤
作者:Scarlett2025 发布时间:2022-09-06 18:32:54
在【解决方案资源管理器】中找到Form1.cs,单击,快捷键F2重命名为“Login.cs”(命名很重要,不然之后项目多了根据不知道哪个项目的内容是什么)
对窗体【Text】属性、【size】属性和【FormBoardStyle】属性进行修改
添加一个新的窗体
Ctrl+Shift+A,在弹出框中选择【Windows窗体】,命名为main.cs
取消登录界面最大化最小化关闭按钮在父窗体菜单栏上显示
最大化:MaximizeBox,最小化:MinimizeBox
如果设置一个为False 的时候会显示不可用,两个都设置为False 的时候,两个按钮同时消失。
关闭按钮没有设置不可用;
但是有一个ControlBox属性,设置为False 的时候最小化、最大化、关闭按钮都会消失。
也可以在login.Designer.cs中添加以下代码
this.MaximizeBox = false; //禁用最大化按钮,这里的this是指窗体对象
this.MinimizeBox = false; //禁用最小化按钮
//this.ControlBox = false; //同时禁用最大化最小化关闭按钮
如果关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭。必须要再写一个关闭的功能用来关闭它。
将Program.cs中代码改为下面的内容
添加的代码为
public static bool isValidUser;
if (isValidUser == true)
{
Application.Run(new main());
}
登录界面中添加三个Label控件,纵向排列;将其【Text】属性分别修改为“用户名:"、“密码”、“用户类型”
从【工具箱】中拖放两个TextBox控件和一个ComboBox控件,将它们分别放在对应的Label控件的右边,并且将它们的【Name】属性分别改为"textBoxUserName",“textBoxPassword”,
“comboBoxLoginType”。
再添加一个CheckBox控件,将其【Text】属性修改为"自动登录"
-继续从【工具箱】中向窗体拖放两个Button控件,并且将分别将其【Name】属性改为“buttonOK”和“buttonCancel”,【Text】属性分别改为“确定”和“取消”。
用鼠标双击【确定】按钮控件,让其自动添加Click事件,然后将事件代码改为下面内容:
private void buttonOK_Click(object sender, EventArgs e)
{
Program.isValidUser = true;
this.Close();
}
同样用鼠标双击【取消】按钮控件,让其自动添加Click事件,然后将事件代码改为下面内容:
private void buttonCancel_Click(object sender, EventArgs e)
{
Program.isValidUser = false;
this.Close();
}
以上代码的含义是:点击“确定”,弹出下一个界面main;点击取消,关闭登录界面
将按钮事件代码改完后,我们再在构造函数中添加下面的内容:
comboBoxLoginType.Items.AddRange(new object[] { "中文-简体", "English-US" });
comboBoxLoginType.SelectedIndex = 0;
这段代码是为了添加下拉框的选项,完成这些后按【F5】,运行效果如下:
添加新的窗体
Ctrl+Shift+A,在弹出框中选择【Windows窗体】,命名为OtherForm.cs
打开main.cs的设计界面,设计主窗体的功能。
界面设计如下:
按照login.cs的设计界面的设计步骤进行设计,将第一个Label控件的【AutoSize】属性改为"False",【BorderStyle】属性改为“Fixed3D”【TextAlign】属性改为“MiddleCenter”
将“姓名”后面的textBox的【Name】属性修改为“textBoxName”
将“基本信息”后面的textBox的【Name】属性修改为“textBoxBaseInfo”
将“其他信息”后面的textBox的【Name】属性修改为“textBoxOtherInfo”
其他控件属性按之前的方法设置即可。
分别将“自动填写文本框”、“弹出对话框”和“弹出新窗体”这三个按钮的【Name】属性修改为:“buttonFillText”、“buttonShowDialog”、"buttonShowNewForm"进行双击,让其自动添加对应的Click事件代码,并修改代码如下:
private void buttonFillText_Click(object sender, EventArgs e)
{
textBoxName.Text = "姜山";
textBoxBaseInfo.Text = "男,27岁";
textBoxOtherInfo.Text = "业余爱好,篮球";
}
private void buttonShowDialog_Click(object sender, EventArgs e)
{
MessageBox.Show("OK");
}
private void buttonShowNewForm_Click(object sender, EventArgs e)
{
OtherForm otherForm = new OtherForm();
otherForm.ShowDialog();
}
在OtherForm.cs界面添加TabControl控件
设置Dock
在属性中找到TabPage属性
点击带有三个省略号的按钮,进入选项卡的编辑界面,即tabPage集合编辑器,在该界面中可以添加、删除、选项卡,以及调整选项卡的位置、编辑选项卡的属性,如下图
也可在代码中对选项卡进行动态编辑,如添加、删除选项卡的代码为:
隐藏TabControl的选项卡标签
在***.Designer.cs中添加以下代码
//隐藏选项卡选头
//方法一
tabControl1.SizeMode = TabSizeMode.Fixed;
tabControl1.ItemSize = new Size(0, 17);
tabControl1.Appearance = TabAppearance.FlatButtons;
//方法二
this.tabControl1.Region = new Region(new RectangleF(this.tabPage1.Left,
this.tabPage1.Top, this.tabPage1.Width, this.tabPage1.Height));
来源:https://blog.csdn.net/Scarlett2025/article/details/118189191


猜你喜欢
- 前言为了应对在SpringBoot中的高并发及优化访问速度,我们一般会把页面上的数据查询出来,然后放到redis中进行缓存。减少数据库的压力
- 概述从今天开始, 小白我将带大家开启 Jave 数据结构 & 算法的新篇章.栈栈 (Stack) 是一种运算受限的线性表, 遵循先进
- AlertDialog的几种用法xml代码:<?xml version="1.0" encoding="
- Java中有两种处理异常的方式,分别是用throws抛出异常、用try、catch捕获异常。try-catch在Javatry-catch语
- @Resource和@Autowired是Spring Framework中两种常用的注入方式,它们的作用是在Spring容器中自动装配Be
- 本文实例讲述了Android简单获取经纬度的方法。分享给大家供大家参考,具体如下:public void getLoc() {
- 当我们在spring容器中添加一个bean时,如果没有指明它的scope属性,则默认是singleton,也就是单例的。例如先声明一个bea
- 一、新建BeanUtil类import lombok.extern.slf4j.Slf4j;import org.springframewo
- 在学习Java以来很长一段时间,我都不能理解为什么修饰一个方法的关键字各不相同,为什么有的方法可以直接调用,而有的方法需要用对象才能调用。毫
- 本文实例为大家分享了Android实现二级列表购物车功能的具体代码,供大家参考,具体内容如下MainActivity:package com
- 前言:在java开发中我们肯定会大量的使用集合,在这里我将总结常见的集合类,每个集合类的优点和缺点,以便我们能更好的使用集合。下面我用一幅图
- 适配器模式是一种重要的设计模式,在 Android 中得到了广泛的应用。适配器类似于现实世界里面的插头,通过适配器,我们可以将分属于不同类的
- 一、前言想要自定义starter组件,首先要了解springboot是如何加载starter的,也就是springboot的自动装配机制原理
- vue3新增effectScope相关的API其官方的描述是创建一个 effect 作用域,可以捕获其中所创建的响应式副作用 (即计算属性和
- 本文实例讲述了Android编程判断是否连接网络的方法。分享给大家供大家参考,具体如下:判断wifi网络是否链接:public static
- springboot扩展MVC自定义 config -> SpringMvcConfig.java下边就是扩展springMVC的模板
- zenDiscovery实现机制ping是集群发现的基本手段,通过在网络上广播或者指定ping某些节点获取集群信息,从而可以找到
- 前言本文主要给大家介绍了关于Android如何实现移动小球和CircularReveal页面切换动画的相关内容,分享出来供大家参考学习,下面
- 本文实例讲述了C#使用HttpDownLoadHelper下载文件的方法。分享给大家供大家参考。具体实现方法如下:using System;
- 虽然Android给我们提供了众多组件,但是使用起来都不是很方便,我们开发的APK都有自己的风格,如果使用了系统自带的组件,总是觉得和应用的