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--只能选

原文地址:https://www.cnblogs.com/William-1234/p/4492498.html