vs 2019 c# 窗体小笔记

vs 2019 c# 窗体小笔记

若读须知

本文为楼主自学时寻找的知识 基本都是CSDN上面的 虽有抄袭嫌疑但是好歹是楼主辛辛苦苦总结的 而且楼主还是个刚毕业的大学生 大家见谅
其实都是怕忘记了而写的 并不是写给你们看的 0_0

c# 窗体工程在这里插入图片描述

本图为别人写的 工程中每一个文件的意思大概就是这样
在这里插入图片描述
我自己写的时候 my 是我的工程名 命名区间 namespace 就是my 下面是主函数 主函数规定了 该工程一进来就要初始化打开一个窗体 我的窗体已改名为windows1![(https://img-blog.csdnimg.cn/20191121142002901.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpcmVjdG5lc3M=,size_16,color_FFFFFF,t_70)
窗体左上角显示为它的文本 这里修改的才是它的名字

接下来做个按键界面跳转吧

  1. 右键工程 --> 添加 windows窗体 --> 继续改名为windows2
    在这里插入图片描述

  2. 在新的窗体上添加一个 按键 然后随便弄几个文本框
    在这里插入图片描述
    打开你的窗体界面()xxx.cs[设计])–>打开工具箱 把你需要的组件拖上去

  3. 打开你的第一个窗体(windows1) 加上一个按键 给按键添加 按键点击事件 --> 双击这个按键就行
    在这里插入图片描述
    在windows1.cs(我的第一个窗体与他的文件)里面会出现这样一个函数 加上以下代码 windows2 是我刚刚创建的窗体
    在这里插入图片描述
    当然也可以自己手动添加控件 打开 这个文件 点击左边的 + 号 展开 代码
    在这里插入图片描述
    在这里插入图片描述

  4. 运行程序 点击按钮 就能 由windows1 跳到 windows2了

  5. 给自己的工程添加 别人的工程中的窗体
    将别人的这三个文件复制到自己工程的文件夹下面
    在这里插入图片描述
    在这里插入图片描述
    在工程中 点中 显示所有文件 -->右键别人的文件名–>包括在项目中 OK
    实在不行 关掉软件 重新打开工程

在windows2 再创建一个按键 打开别人的窗体
在这里插入图片描述
重复上面的步骤 该怎么写就怎么写
在这里插入图片描述
报错的原因
在这里插入图片描述
这是我的

这是 别人的 名字不一样
加粗样式
把这个名字改成和我的一样就行了在这里插入代码片使得窗体里面的组件随着窗体的大小改变而跟着改变 不会变的乱糟糟的

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace my
{
    public partial class windows2 : Form
    {
        public windows2()
        {
            InitializeComponent();
            int count = this.Controls.Count * 2 + 2;
            float[] factor = new float[count];
            int i = 0;
            factor[i++] = Size.Width;
            factor[i++] = Size.Height;
            foreach (Control ctrl in this.Controls)//可以遍历 窗口中的所有组件
            {
                factor[i++] = ctrl.Location.X / (float)Size.Width;
                factor[i++] = ctrl.Location.Y / (float)Size.Height;
                ctrl.Tag = ctrl.Size;//!!!把位置信息存入Tag
            }
            Tag = factor;
        }

        private void button1_Click(object sender, EventArgs e)
        {


            Form1 w3 = new Form1();          
            w3.Show();
        }

        //重写Form1_Resize函数 在窗体改变时 直接调用该函数
        private void FrmQueryBalance_Resize(object sender, EventArgs e)
        {
            //控件随窗体全屏显示
            float[] scale = (float[])Tag;// 从Tag中提取窗体没有改变时的各组件的信息
            int i = 2;

            foreach (Control ctrl in this.Controls) //自动遍历各组件 目测顺序为你创建组件的顺序
            {
                ctrl.Left = (int)(Size.Width * scale[i++]);
                ctrl.Top = (int)(Size.Height * scale[i++]);
                ctrl.Width = (int)(Size.Width / (float)scale[0] * ((Size)ctrl.Tag).Width);//!!!
                ctrl.Height = (int)(Size.Height / (float)scale[1] * ((Size)ctrl.Tag).Height);//!!!

                //每次使用的都是最初始的控件大小,保证准确无误。
            }
        }

    }
}

别忘了在窗体那里 属性 -> resize-> FrmQueryBalance_Resize

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值