C#编写上位机调试软件-登陆界面

文章目的:记录自己从小白-到到小白+的过程,其实还是小白;无非就是控件熟悉了一下。内容或者控件调用太水,不喜勿喷,从学这门语言到实际自己上手做点东西还是比较难。总而言之,全靠同事和度娘。

  先定义项目名称吧,三轴螺丝机平台;使用雷赛DMC3000脉冲卡,搭载一个CANIO扩展模块(16输入16输出)。

大致分以下几部分写:IO调试界面设计;电机调试界面设计;登录界面设计;多点位运动以及插补运动;视觉拍照(这个放最后面吧,还没学视觉呢)

一、第一个篇章:登陆界面设计

分以下几个方面考虑:

登陆账号,权限设定,密码绑定。

我做的是最简单的;后面有机会再学习并更新真正意义上的登录界面:权限和登录账号绑定,密码加密解密,登入界面配置文件导入和读取,实现手动新增管理人员,手动绑定登录密码等。

新增一个主窗口,然后新增一个登入窗口。

1、定义窗口大小,我一半都是手动修改Size,内的参数;然后修改锁定窗口,防止用户修改:AutoSize 设置为True;

2、自己准备一个.icon的图像文件,使用一些工具把.jpg啥的文件转换成.icon文件。

推荐一个小网站:吱吱工具箱butterPig - 便捷智能的图片处理工具集https://www.butterpig.top/icopro/)然后在Icon这个属性框拉选自己的.icon文件。这样左上角就会出现你选择的图标勒。

3、修改窗口名称:点击窗口,然后再属性一栏选择Txet属性,修改成:登录界面。(窗口左上角会出现登录界面字样)。

4、拉选两个按钮控件,分别设置Text属性为登录、退出。拉选两个Label文本控件,分别设置Text为:用户名,和密码。

5、拉选一个comboBox控件,在Items属性一栏中,点击集合;然后建立,操作员(回车),技术员(回车),管理员(回车);然后确认退出即可。

6、拉选一个textBox控件,在PasswordChar属性一栏,改为“ * ”号,这样到时候就能吧输入的密码隐藏。

7、最后再增加一个按钮,此按钮就是textBox控件后面的一个眼睛符号的按钮,自己找一个图标,然后修改Image,把图片添加到集合中。

以上控件修改完了,那么就要编写应用代码了:

首先我们希望点击完软件之后,第一个界面是登录界面,其次才是进入主界面;也有在主界面创建一个按钮控件用于登录事件;然后跟进登录界面登录之后进行权限管控。

首先在Program.CS这个程序入口中增加以下代码,注释原来的代码:Application.Run(new Form1());

StartWindows这个是登入界面name;

            StartWindows frm = new StartWindows(); //初始在登录界面
            if (frm.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new Form1());
            }

然后在登录界面,登录按钮事件中增加以下代码,既可以实现两个界面切换:

MessageBox.Show("进入主界面");

this.DialogResult = DialogResult.OK;

关于密码的掩盖和显示的切换:在按键事件上增加以下代码:

 if(i!=0)
            {
                i = 0;
                textBoxPassword.PasswordChar = '*';
            }
            else
            {
                i = 1;
                textBoxPassword.PasswordChar = '\0';//明文显示
            } 

剩下得就是账号和对应的密码了,这个就按自己的喜好去弄了,目前我是把密码全部都在代码上对应,不好的地方就是每次修改密码都要更新程序。最好的方法是用文件写入和导出这种形式进行密码和账号的绑定。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络通信是C#上位机开发中非常重要的一部分,下面是C#上位机开发教程中网络通信篇的一些内容: 1.使用Socket进行TCP通信 ```csharp // 服务器端 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; TcpListener listener = new TcpListener(ip, port); listener.Start(); Console.WriteLine("服务器已启动,等待客户端连接..."); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); byte[] data = new byte[1024]; int length = stream.Read(data, 0, data.Length); string message = Encoding.UTF8.GetString(data, 0, length); Console.WriteLine("接收到客户端消息:" + message); stream.Write(Encoding.UTF8.GetBytes("服务器已接收到消息"), 0, "服务器已接收到消息".Length); stream.Close(); client.Close(); listener.Stop(); // 客户端 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; TcpClient client = new TcpClient(); client.Connect(ip, port); NetworkStream stream = client.GetStream(); string message = "Hello, Server!"; byte[] data = Encoding.UTF8.GetBytes(message); stream.Write(data, 0, data.Length); data = new byte[1024]; int length = stream.Read(data, 0, data.Length); message = Encoding.UTF8.GetString(data, 0, length); Console.WriteLine("接收到服务器消息:" + message); stream.Close(); client.Close(); ``` 2.使用Socket进行UDP通信 ```csharp // 服务器端 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; UdpClient server = new UdpClient(port); IPEndPoint remote = new IPEndPoint(IPAddress.Any, 0); byte[] data = server.Receive(ref remote); string message = Encoding.UTF8.GetString(data, 0, data.Length); Console.WriteLine("接收到客户端消息:" + message); server.Send(Encoding.UTF8.GetBytes("服务器已接收到消息"), Encoding.UTF8.GetBytes("服务器已接收到消息").Length, remote); server.Close(); // 客户端 IPAddress ip = IPAddress.Parse("127.0.0.1"); int port = 8888; UdpClient client = new UdpClient(); IPEndPoint remote = new IPEndPoint(ip, port); string message = "Hello, Server!"; byte[] data = Encoding.UTF8.GetBytes(message); client.Send(data, data.Length, remote); data = client.Receive(ref remote); message = Encoding.UTF8.GetString(data, 0, data.Length); Console.WriteLine("接收到服务器消息:" + message); client.Close(); ``` 3.使用HttpWebRequest进行HTTP通信 ```csharp string url = "http://www.example.com"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); string result = reader.ReadToEnd(); Console.WriteLine(result); reader.Close(); stream.Close(); response.Close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值