• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孤单成双
博客园    首页    新随笔    联系   管理    订阅  订阅

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

 

posted @ 2015-05-10 17:02  孤单成双  阅读(168)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3