.Net学习日记——WinForm基础

.Net学习日记——WinForm基础

----------------------Windows Phone 7手机开发Net培训、期待与您交流! ----------------------

 

今天对WinForm基础进行了复习,虽然操作流程简单,但我关注了编程中一些需要注意的细节,对于一个问题的多种实现方法进行了思考。

一、WinForm基本概念

    Windows窗体也称为Windows Form,用于创建应用程序的用户界面,并使用任何一种.Net平台支持的语言编写应用程序的功能。由于窗体中很多元素具有相似性,.Net将这些元素的相似之处抽象为类,这些类称为控件。WinForm程序与控制台程序的不同在于,控件的方法不是程序员显式调用的,而是程序员将方法预先写好并进行指定,而后由.Net在事件被触发时调用,即WinForm程序是事件驱动的,这种机制也被称作好莱坞原则。

二、WinForm控件命名

   由于Windows窗体通常由很多控件组合而成,需要为这些控件根据规范进行适当的命名,提高程序的可读性,避免在编写源代码时发生混淆。

控件类型

控件类型简写

标准命名举例

Label

lbl

lblMessage

LinkLabel

llbl

llblToday

Button

btn

btnSave

TextBox

txt

txtName

MainMenu

mmnu

mmnuFile

CheckBox

chk

chkStock

RadioButton

rbtn

rbtnSelected

GroupBox

gbx

gbxMain

PictureBox

pic

picImage

Panel

pnl

pnlBody

DataGrid

dgrd

dgrdView

ListBox

lst

lstProducts

CheckedListBox

clst

clstChecked

ComboBox

cbo

cboMenu

ListView

lvw

lvwBrowser

TreeView

tvw

tvwType

TabControl

tctl

tctlSelected

DateTimePicker

dtp

dtpStartDate

HscrollBar

hsb

hsbImage

VscrollBar

vsb

vsbImage

Timer

tmr

tmrCount

ImageList

ilst

ilstImage

ToolBar

tlb

tlbManage

StatusBar

stb

stbFootPrint

OpenFileDialog

odlg

odlgFile

SaveFileDialog

sdlg

sdlgSave

FolderBrowserDialog

fbdlg

fbdlgBrowser

FontDialog

fdlg

fdlgFont

ColorDialog

cdlg

cdlgColor

PrintDialog

pdlg

pdlgPrint

三、相关问题

   在通过分析身份证号码判断用户访问权限的案例中,根据现存两种身份证号码的位数不同,我采用了如下代码。由于本案例只需要通过用户的出生年份计算用户的年龄,在此不对身份证号码的正确性判断进行深入探究。

 //15位身份证号码 
 if (input.Length == 15) 
 { 
     if (int.TryParse(input.Substring(6, 2), out year) == false) 
     { 
         MessageBox.Show("身份证号码输入错误,请检查您的输入后重试!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); 
         txt_ID.Text = null;  //清空文本框 
         return; 
     } 
     if (year >= 0 && year <= 11) 
         year += 2000; 
     else 
         year += 1900; 
 } 
 //18位身份证号码 
 else if (input.Length == 18) 
 { 
     if (int.TryParse(input.Substring(6, 4), out year) == false) 
     { 
         MessageBox.Show("身份证号码输入错误,请检查您的输入后重试!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); 
         txt_ID.Text = null;  //清空文本框 
         return; 
     } 
 } 
 else 
 { 
     MessageBox.Show("身份证号码输入错误,请检查您的输入后重试!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     txt_ID.Text = null;  //清空文本框 
     return; 
 } 
四、需注意的问题

    1、在直接对控件的事件处理代码进行删除后,再次运行程序会提示错误。正确的删除方法是,先在控件的事件列表中将对应事件的指向清空,而后再对该控件的事件处理代码进行删除;

    2、注意return语句的作用是退出函数,而非退出整个程序。在检测到用户输入的非法值后,必须加入return语句,否则程序将继续执行下去,并产生意外结果;

    3、对于TextBox控件,为防止附加文本的篇幅过长,导致中间变量过大、程序运行效率降低,通常在附加文本时不通过简单的字符串相加来实现,而是直接调用TextBox控件的appendText方法;

    4、必须注意变量的作用域问题。对于局部变量,每次运行完毕,其值都会被销毁,下次运行时将重新初始化;而对于类的字段,只要类的实例不销毁,就会一直保持对象的字段值;

    5、对于ComboBox控件,需要区分以下四个属性的含义:SelectedIndex表示当前选中项在下拉列表中的序号,SelectedItem表示当前选中项包含的内容,SelectedValueSelectedText则主要在数据库开发中使用;

    6、在实际的登录界面开发过程中,通常不对用户输入的用户名和密码区分大小写,因此在对用户输入的字符串与正确的字符串进行比对时,需要调用StringEquals方法的重载函数public bool Equals(stringvalue, StringComparison comparisonType),并将comparisonType参数赋值为StringComparison的枚举值OrdinalIgnoreCase

 

----------------------Windows Phone 7手机开发Net培训、期待与您交流! ----------------------

 

详细请查看:http://net.itheima.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值