C# WinForm制作登录界面的实现步骤

作者:Scarlett2025 时间:2022-09-06 18:32:54 

在【解决方案资源管理器】中找到Form1.cs,单击,快捷键F2重命名为“Login.cs”(命名很重要,不然之后项目多了根据不知道哪个项目的内容是什么)

C# WinForm制作登录界面的实现步骤

对窗体【Text】属性、【size】属性和【FormBoardStyle】属性进行修改

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

添加一个新的窗体

Ctrl+Shift+A,在弹出框中选择【Windows窗体】,命名为main.cs

C# WinForm制作登录界面的实现步骤

取消登录界面最大化最小化关闭按钮在父窗体菜单栏上显示
最大化:MaximizeBox,最小化:MinimizeBox
如果设置一个为False 的时候会显示不可用,两个都设置为False 的时候,两个按钮同时消失。

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

关闭按钮没有设置不可用;
但是有一个ControlBox属性,设置为False 的时候最小化、最大化、关闭按钮都会消失。

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

也可以在login.Designer.cs中添加以下代码

this.MaximizeBox = false;   //禁用最大化按钮,这里的this是指窗体对象
this.MinimizeBox = false;   //禁用最小化按钮
//this.ControlBox = false;  //同时禁用最大化最小化关闭按钮

C# WinForm制作登录界面的实现步骤

如果关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭。必须要再写一个关闭的功能用来关闭它。

将Program.cs中代码改为下面的内容
添加的代码为

public static bool isValidUser;

if (isValidUser == true)
           {
               Application.Run(new main());
           }

C# WinForm制作登录界面的实现步骤

登录界面中添加三个Label控件,纵向排列;将其【Text】属性分别修改为“用户名:"、“密码”、“用户类型”

C# WinForm制作登录界面的实现步骤

从【工具箱】中拖放两个TextBox控件和一个ComboBox控件,将它们分别放在对应的Label控件的右边,并且将它们的【Name】属性分别改为"textBoxUserName",“textBoxPassword”,
“comboBoxLoginType”。

再添加一个CheckBox控件,将其【Text】属性修改为"自动登录"

-继续从【工具箱】中向窗体拖放两个Button控件,并且将分别将其【Name】属性改为“buttonOK”和“buttonCancel”,【Text】属性分别改为“确定”和“取消”。

C# WinForm制作登录界面的实现步骤

用鼠标双击【确定】按钮控件,让其自动添加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();
}

C# WinForm制作登录界面的实现步骤

以上代码的含义是:点击“确定”,弹出下一个界面main;点击取消,关闭登录界面

将按钮事件代码改完后,我们再在构造函数中添加下面的内容:

comboBoxLoginType.Items.AddRange(new object[] { "中文-简体", "English-US" });
comboBoxLoginType.SelectedIndex = 0;

C# WinForm制作登录界面的实现步骤

这段代码是为了添加下拉框的选项,完成这些后按【F5】,运行效果如下:

C# WinForm制作登录界面的实现步骤

添加新的窗体
Ctrl+Shift+A,在弹出框中选择【Windows窗体】,命名为OtherForm.cs

C# WinForm制作登录界面的实现步骤

打开main.cs的设计界面,设计主窗体的功能。
界面设计如下:

C# WinForm制作登录界面的实现步骤

按照login.cs的设计界面的设计步骤进行设计,将第一个Label控件的【AutoSize】属性改为"False",【BorderStyle】属性改为“Fixed3D”【TextAlign】属性改为“MiddleCenter”

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

将“姓名”后面的textBox的【Name】属性修改为“textBoxName”

C# WinForm制作登录界面的实现步骤

将“基本信息”后面的textBox的【Name】属性修改为“textBoxBaseInfo”

C# WinForm制作登录界面的实现步骤

将“其他信息”后面的textBox的【Name】属性修改为“textBoxOtherInfo”

C# WinForm制作登录界面的实现步骤

其他控件属性按之前的方法设置即可。

C# WinForm制作登录界面的实现步骤

C# WinForm制作登录界面的实现步骤

分别将“自动填写文本框”、“弹出对话框”和“弹出新窗体”这三个按钮的【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();
}

C# WinForm制作登录界面的实现步骤

在OtherForm.cs界面添加TabControl控件

C# WinForm制作登录界面的实现步骤

设置Dock

C# WinForm制作登录界面的实现步骤

在属性中找到TabPage属性

C# WinForm制作登录界面的实现步骤

点击带有三个省略号的按钮,进入选项卡的编辑界面,即tabPage集合编辑器,在该界面中可以添加、删除、选项卡,以及调整选项卡的位置、编辑选项卡的属性,如下图

C# WinForm制作登录界面的实现步骤

也可在代码中对选项卡进行动态编辑,如添加、删除选项卡的代码为:

隐藏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

标签:C#,WinForm,登录界面
0
投稿

猜你喜欢

  • 详解SpringBoot定制@ResponseBody注解返回的Json格式

    2023-07-26 13:47:02
  • MybatisPlus #{param}和${param}的用法详解

    2023-02-02 13:08:10
  • Java分页查询--分页显示(实例讲解)

    2023-02-05 11:07:15
  • 基于eclipse.ini内存设置的问题详解

    2021-08-25 02:56:55
  • Opencv EigenFace人脸识别算法详解

    2023-07-21 19:30:17
  • java如何获得redis所有的key-value

    2022-03-13 12:22:14
  • Java中Function的使用及说明

    2023-08-12 03:04:29
  • C++实现LeetCode(205.同构字符串)

    2023-06-21 04:06:54
  • Java使用Thread和Runnable的线程实现方法比较

    2021-11-17 07:52:54
  • Map与JavaBean相互转换的工具类 

    2021-09-22 20:59:02
  • spring boot如何实现切割分片上传

    2023-06-29 02:49:26
  • Android 无障碍全局悬浮窗实现示例

    2023-07-30 08:50:01
  • 详解Java线程同步器CountDownLatch

    2023-08-23 18:42:39
  • maven profile动态选择配置文件详解

    2023-11-05 22:05:20
  • Android+SQLite数据库实现的生词记事本功能实例

    2023-06-18 10:41:35
  • Java如何实现自定义异常类

    2023-06-21 23:44:01
  • Java 深拷贝与浅拷贝的分析

    2023-07-30 14:13:13
  • java读写二进制文件的解决方法

    2022-08-03 14:45:55
  • 教你用JAVA写文本编辑器(四)

    2023-10-18 18:30:16
  • SSH框架网上商城项目第10战之搭建商品类基本模块

    2023-11-12 14:00:29
  • asp之家 软件编程 m.aspxhome.com