winform基础
一,窗体
1,控制标题栏
Text——控制标题栏的文字(外观)
ICon——控制标题栏的图标(窗口样式)
MaximizeBox——设置标题栏最大化框是否可用(窗口样式)
MinmizeBox——设置标题栏最小化框是否可用(窗口样式)
ControlBox——设置标题栏所有控制框是否可用(窗口样式)
2,控制背景
BackColor——控制背景色(外观)
BackgroundImage——背景图(外观)
BackgroundImageLayout——背景布局方式:Title——平铺 Stretch——拉伸 Zoom——按比例缩放(外观)
3,控制边框
FormBorderStyle——控制边框的样式:Sizeable——可调边框 FixedSingle——不可调边框 None——无边框(外观)
size(Width,Height)——窗体的大小(布局)
Maximumsize(width,Height)——最大的大小(布局)
Minimumsize(width,Height)——最小的大小(布局)
4,控制前景
Font——文字字体(外观)
ForeColor——文字颜色(外观)
5,辅助属性
WindowState——窗体的启动状态:Normal——设计时的大小 Maximized-窗体启动最大化 Minimized-启动最小化
StartPosition——窗体的启动位置:CenterScreen——在屏幕中央
ShowInTaskbar——设置窗体在运行时是否在任务栏显示
TopMost——设置窗体是否在最顶层显示
Opacity——设置窗体是否透明:100%完全不透明 0%完全透明
TransparencyKey——设置窗体的透明色(一般和窗体的背景色设置为相同)
几个经典案例:
1,做一个遮罩窗体(让电脑全屏黑屏显示)
a,去掉边框 FormBorderStyle = none;
b,设置启动最大化 WindowState = Maximized
c,设置背景色为黑色 BackColor=black
d,设为顶层窗体 TopMost=true
e,设置不在任务栏显示 ShowInTaskbar=false
技巧:添加一个新窗体并设为启动窗体:
a.在解决方案管理器的项目右击,选择添加-windows窗体。
b.在解决方案管理器中,把Program.cs打开,修改后面的Application.Run().
2,做一个不规则的窗体
a,找一张不规则的透明底色的图片(PNG格式)并把它设为背景图片
b,把窗体的边框去掉 FormBorderStyle=none
c,设置窗体的透明色与窗体的背景色设置为相同 TransparencyKey=control
二,几个常用的控件
1,标签——lable
几个属性:
Text - 标签文字
Image - 图像
TextAlign - 文字的位置9个位置
ImageAlign - 图像的位置9个位置
AutoSize - True-自动调整大小,只有一个控制点。False-手动调整大小,有8个控制点。
ForeColor——文字色
BackColor——背景色
Font——字体
2,按钮:Button
几个属性:
Text - 按钮文字
Image - 按钮图片
TextAlign - 文字的位置9个位置
ImageAlign - 图像的位置9个位置
FlatStyle- 按钮的形态。 Standard-标准。Flat-平面状态。Popup-稍微凸出一点。
FlatAppearence - 按钮形成的详细设置。
ForeColor——文字色
BackColor——背景色
Font——字体
注:窗体中有两个很重要的属性: AcceptButton,CancelButton分别用来指定两个按钮。在窗体上按回车键会自动调用AcceptButton中的代码,按ESC键会调用CancelButton的代码。
3,文本框:TextBox
几个属性:
Text - 按钮文字
MultiLine-是否是多行文本框。true-多行文本,false-单行文本
PasswordChar-密码框中的字符样式
ReadOnly-只读,不能改
MaxLength-最多输入多少
4,RadioButton 单选按钮,CheckBox 复选框
几个属性:
Text-按钮上的文字
Checked - 按钮是否被选中
Tag - 一般是用保存按钮背后的值。
Image - 图像 TextAlgin,ImageAlign
Appearance:按钮外观。Normal-普通的单选按钮。Button-按钮形式的单选按钮
Font,ForeColor,BackColor。
技巧:如何解决一个窗体多组单选按钮分开选择的情况?
使用GroupBox或Panel等容器性面板。
案例:如何从一堆单选按钮中获得被选中的项。
//遍历窗体的每个控件
foreach (Control ctrl in this.Controls)
{
//判断每个控件是否是RadioButton
if (ctrl is RadioButton)
{
//如果是RadioButton就强转成RadioButton
RadioButton rb = (RadioButton)ctrl;
//如果被选中了,就。。。。
if (rb.Checked)
{
if (Convert.ToInt32(rb.Tag) < 4)
{
label1.Text = "高学历啊";
}
else
{
label1.Text = "一般的学历啊";
}
}
}
}
5,下拉列表 ComboBox
I,下拉列表中的值是怎样放进去的
(1).使用代码逐项添加
a.造一个实体类并重写父类的ToString()方法,返回要显示的属性。
b.使用实体造对象
c.把对象添加到下拉列表的items集合中去。
(2).直接使用数据绑定
需要用到的属性:
DataSource - 下拉列表的数据来源,一般是实体类的集合。
DisplayMember - 要作为显示项的属性名。
ValueMember - 要作为值项的属性名。
案例:把民族表中的数据读取出来加载到下拉列表中去
使用第一种方法添加:
a.准备实体类class Nation、链接类class DBconnection、数据访问类class NationDA。
b.在界面后台代码中,调用数据访问类NationDA,获取返回来的民族列表数据List<Nation>。
c.遍历列表中的每一项,把它每个加进下拉列表的Items集合中。
List<Nation> list = new NationDA().Select();
foreach (Nation data in list)
{
comboBox1.Items.Add(data);
}
使用第二种方法添加:
a.准备实体类、链接类、数据访问类。
b.调用数据访问类,把返回来的数据,赋给下拉列表的DataSource
c.设置下拉列表的DisplayMember和ValueMember属性。
List<Nation> ls = new NationDA().Select();
comboBox1.DataSource = ls;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Code";
II,如何把选中项获取出来。
相关属性:SelectedItem--选中的项
使用下拉列表的SelectedItem属性来获取,获取出来的类型是Object,需要强制转换成相应的类型。然后再获得某相应属性的值。
案例:获取选中的民族的名称和Code值
(comboBox.SelectedItem as Nation).Name;
(comboBox.SelectedItem as Nation).Code;
III,如何设置某一项为选中项
遍历下拉列表中的每一项,找到与要设置为选中项的值一样的那一项,然后把这个对象赋给SelectedItem
string code=textbox1.Text;
foreach (Nation data in comboBox1.Items)
{
if (data.Code == code)
{
comboBox1.SelectedItem = data;
}
}
IV,其他属性
DropDownStyle: DropDown--既可以选,又可以填写。DropDownList--只能选