首页 > 编程语言 >C#winform学习1

C#winform学习1

时间:2023-11-07 18:23:10浏览次数:28  
标签:C# 学习 Form1 选中 cs new winform yoff Size

Form1.cs:业务代码

自动方式:Form1.Designer.cs:界面代码,一般是设计器自动生成的(最好不要修改该文件)

手动方式:在Form1.cs中手动方式添加事件处理

vs studio会有代码提示,直接按TAB键即可代码补全

1.窗口自适应

1.将textbox的自适应关闭

 2.重写OnLayout方法

protected override void OnLayout(LayoutEventArgs levent)
        {
            //1.调用父类的OnLayout()
            base.OnLayout(levent);
            //2.获取窗口大小 ClientSize
            //Size是窗口的总大小,包括标题栏和边框
            //ClientSize仅是窗口客户区的大小
            int w = this.ClientSize.Width;
            int h = this.ClientSize.Height;
            //3.计算每一个控件的位置和大小
            int yoff = 0;
            yoff = 4;
            this.textBox1.Location = new Point(0, yoff);
            this.textBox1.Size = new Size(w - 80, 30);//80:按钮大小
            this.button1.Location = new Point(w - 80, yoff);
            this.button1.Size = new Size(80, 30);

            yoff += 30;     //第一行的高度
            yoff += 4;        //间隔
            this.pictureBox1.Location = new Point(0, yoff);
            this.pictureBox1.Size = new Size(w, h - yoff - 4);

        }

 2.Anchor(锚定)

 当窗口大小改变的时候,该控件锚定在窗口的左上角 (与父窗口的Top和Left保持不变)

3.Dock(停靠)

添加容器panel进行嵌套布局,会自适应窗口大小

设置Dock属性时,Anchor属性无效

问题:最终停靠效果取决于添加控件的顺序

 4.自定义布局器的使用步骤:

1.工具-->选项,Windows窗体设计器-->常规,将自动填充工具箱设置True

2.添加自定义的Panel或Control类(将自定义的布局器类拷贝到项目中)

3.点击生成解决方案

4.重新打开Form1.cs,在工具箱中可以看见自定义的控件

 

5.练习:点击复选框按钮的时候,密码框明文显示,默认是密文显示:Click和CheckedChanged事件

Click事件和CheckedChanged事件区别:

Click事件:用户手动点击

CheckedChanged事件:状态值改变就会触发,可以是用户点击,也可以是程序代码改变这个值

Form1.cs中写入改代码

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            //1.获取当前复选框的状态
            bool isChecked = checkBox1.Checked;
            if (isChecked) 
            {
                //设置明文显示
                textBox1.PasswordChar = '\0';
            }
            else
            {
                textBox1.PasswordChar = '*';
            }
        }

 6.下拉框comboBox

在设计器中直接编辑:属性-->数据-->Items

构造方法手动添加:comboBox1.Items.Add("xxx");

获取选中的索引(未选中则未-1):

int index = comboBox1.SelectedIndex;

获取选中的值:

String sel = (String)comboBox1.SelectedItem;

7.列表框listBox

列表数据项的类型可以是任意的

单选模式:

  返回选中索引:listBox1.SelectedIndex

  返回选中值:listBox1.SelectedItem

多选模式:

  返回选中索引:listBox1.SelectedIndices

  返回选中值:listBox1.SelectedItems

 

 

标签:C#,学习,Form1,选中,cs,new,winform,yoff,Size
From: https://www.cnblogs.com/hmy22466/p/17815590.html

相关文章

  • 机器学习之使用seaborn绘制各类图形
    使用seaborn绘制单双变量,类别散点图,箱型图,小提琴图去更直观的观察数据的分布情况在单变量图中使用displot,参数如下 双变量关系图使用joinplot,参数如下图 类别散点图使用stripplot(),参数如下 小提琴图和箱型图类似,一个使用violinplot(),另一个使用boxplot(),参数基本一......
  • ArcGIS API for JavaScript入门
    arcgis官网:https://arcgis.fenxianglu.cn/docs/load.html一、集成到应用----@arcgis/core方式1、引入ArcGISAPIforJavaScriptyarnadd@arcgis/core或者指定安装版本yarnadd@arcgis/[email protected]如果提示:'yarn'不是内部或外部命令,也不是可运行的程序或批处理文件......
  • CentOS怎么安装最新版本docker
    环境查看[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@localhost~]#uname-aLinuxlocalhost.localdomain3.10.0-1160.el7.x86_64#1SMPMonOct1916:18:59UTC2020x86_64x86_64x86_64GNU/Linux安装docker#更新源......
  • centOS6.5 gitlab安装 记录
    很久很久以前的服务器系统版本是centOS6.5感觉会有坑上篇yum源下载问题已解决记录下安装gitLab的过程:安装C编译器yum-yinstallgcc(查下系统里面是否有安装)1.安装配置依赖项sudoyuminstall curl openssh-serveropenssh-clientspostfixcronie2.启动postfix邮......
  • C-B-T-I-添加量表数据
    Sql模板set@hid='eec28119-78e4-4023-8f2a-98ce070f91ff';set@gid='aa2e97fg-7bad-49c2-a993-164222b164cc';set@gaugeName='Yale-Brown强迫症状量表';set@Remark='Yale-Brown强迫症状量表';set@ScoreMultiple=1;set@now=NOW();DELETE......
  • # yyds干货盘点 # 盘点一个Excel表格数据筛选的问题(上篇)
    大家好,我是皮皮。一、前言前几天有粉丝问我Excel数据筛选的问题,原始数据如下图所示,其实一开始的总学时是字符串格式,我直接在wps里边进行了批量转换为数据操作,下面一起来看看需求吧。粉丝的需求是根据原始表格,然后填充下表:二、实现过程这里其实使用Excel就可以实现,这里介绍两个方法,......
  • 世微 DC-DC降压恒注驱动芯片 LED汽车大灯 过EMC认证 AP2400
    产品特点宽输入电压范围:5V~100V 可设定电流范围:10mA~6000mA 固定工作频率:150KHZ 内置抖频电路,降低对其他设备的EMI干扰 平均电流模式采样,恒流精度更高 0-100%占空比控制,无电流节点跳变 输出短路保护过温保护 三功能模式:全亮/半亮/爆闪/三功能循环 SOP8封装产品描述  ......
  • JS之splice()方法详解
    JS中splice方法可以用来对js的数组进行删除,添加,替换等操作。1.删除功能,第一个参数为第一项位置,第二个参数为要删除几个;使用方法:array.splice(index,num),返回值为删除的内容,结果值为array2.插入功能,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项)。使用方法:array.splice(index,0,......
  • 简单高效!Navicat 15激活全流程在此!
    不说虚的,Navicat激活流程直接给!下载Navicat15安装包以及注册机提示:激活补丁的网盘链接关注我私信获取~Navicat15软件安装包;Navicat15注册机;Navicat12版本(如果15装不了,可安装里面的12版本,步骤都是一样的!)安装Navicat151、先双击navicat150_premium_cs_x64.exe安装包,开......
  • 如何深度学习Python?
    安装必要软件:首先需要安装Anaconda或Miniconda等科研计算环境,并创建虚拟环境以便管理不同项目所需库和版本。可以按照如下步骤进行操作:下载并安装Anaconda或Miniconda。打开命令行工具(Windows系统中为cmd),输入condacreate--nameenv_namepython=3.x创建一个新的Pyt......