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