`
phinecos
  • 浏览: 351746 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

WebCast听课录(7)

 
阅读更多

课程名:Windows应用程序开发入门到精通四:Windows窗体开发中的面向对象概念

1,自定义控件的开发。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

最简单的控件自定义是重写公共控件的方法。例如,可以重写 TextBox 控件的 OnKeyPress 继承方法,提供将输入限制为数字字符的代码。

publicclassNumricTextBox:System.Windows.Forms.TextBox
{
boolallowSpace=false;//不允许出现空格

protectedoverridevoidOnKeyPress(KeyPressEventArgse)
{//限制输入字符为数字,小数点,负号,Backspace键
base.OnKeyPress(e);

NumberFormatInfonumberFormatInfo
=System.Globalization.CultureInfo.CurrentCulture.NumberFormat;
stringdecimalSeparator=numberFormatInfo.NumberDecimalSeparator;
stringgroupSeparator=numberFormatInfo.NumberGroupSeparator;
stringnegativeSign=numberFormatInfo.NegativeSign;

stringkeyInput=e.KeyChar.ToString();

if(Char.IsDigit(e.KeyChar))
{
//输入为数字
}

elseif(keyInput.Equals(decimalSeparator)||keyInput.Equals(groupSeparator)||
keyInput.Equals(negativeSign))
{
//输入小数分隔符号
}

elseif(e.KeyChar=='/b')
{
//Backspace键
}

elseif(this.allowSpace&&e.KeyChar=='')
{

}

else
{
e.Handled
=true;//通知父类事件已经处理过了,父类不必再响应
}

}


publicintIntValue
{
get
{
returnInt32.Parse(this.Text);
}

}


publicdecimalDecimalValue
{
get
{
returnDecimal.Parse(this.Text);
}

}


publicboolAllowSpace
{
set
{
this.allowSpace=value;
}


get
{
returnthis.allowSpace;
}

}


}


2, “组合”和“聚合”的区别到底是什么呢?用接口来代替继承更易于应对变化?


3Observer模式实例


publicinterfaceISubject
{
}


publicinterfaceIObserver
{
ISubjectSubject
{
set;
}

}


publicclassMainSubject:ISubject
{
publiceventEventHandlerSelectedChanged;
privateintm_selected;

publicintSelected
{
get
{
returnm_selected;
}

set
{
m_selected
=value;
if(SelectedChanged!=null)
{
SelectedChanged(
this,EventArgs.Empty);
}

}

}


publicMainSubject()
{
}

}


publicclassButtons:System.Windows.Forms.UserControl,IObserver
{
privateSystem.Windows.Forms.Buttonbutton1;
privateSystem.Windows.Forms.Buttonbutton2;
privateSystem.Windows.Forms.Buttonbutton3;

privateMainSubjectm_subject;

privatevoidbutton1_Click(objectsender,System.EventArgse)
{
this.m_subject.Selected=1;
}


privatevoidbutton2_Click(objectsender,System.EventArgse)
{
this.m_subject.Selected=2;
}


privatevoidbutton3_Click(objectsender,System.EventArgse)
{
this.m_subject.Selected=3;
}

IObserverMembers#regionIObserverMembers

publicISubjectSubject
{
set
{
m_subject
=(MainSubject)value;
}

}


#endregion

}


publicclassViews:System.Windows.Forms.UserControl,IObserver
{
privateSystem.Windows.Forms.TextBoxtextBox1;
privateMainSubjectm_subject;

IObserverMembers#regionIObserverMembers

publicISubjectSubject
{
set
{
m_subject
=(MainSubject)value;
m_subject.SelectedChanged
+=newEventHandler(m_subject_SelectedChanged);
}

}


#endregion


privatevoidm_subject_SelectedChanged(objectsender,EventArgse)
{
this.textBox1.Text=m_subject.Selected.ToString();
}

}


publicclassForm1:System.Windows.Forms.Form
{
privateObserverPattern.Buttonsbuttons1;
privateObserverPattern.Viewsviews1;
privateMainSubjectm_subject;

privateSystem.ComponentModel.Containercomponents=null;

publicForm1()
{
InitializeComponent();
m_subject
=newMainSubject();
this.buttons1.Subject=m_subject;
this.views1.Subject=m_subject;
}

}

分享到:
评论

相关推荐

    微软WebCast下载工具

    7. **兼容性广泛**:可能支持多种格式的WebCast资源,不仅限于视频,还可能包括文档、音频等。 8. **定时下载**:用户可以设置定时任务,在特定时间自动开始下载,避免占用工作或上网时间。 对于微软的WebCast,...

    Microsoft Webcast 专用下载器

    7. **文件组织**:自动按照Webcast的名称或分类整理下载的文件,便于管理和查找。 8. **更新提醒**:当新的Webcast可用时,可能提供更新通知功能。 在使用"Microsoft Webcast 专用下载器"时,用户需要注意版权问题...

    WebCast 视频下载器

    7. **整合与整理**:下载后的视频通常会被保存在一个指定的文件夹中,用户可以通过WebCast 视频下载器对这些文件进行分类、重命名等操作,便于管理和查找。 8. **安全性**:软件应确保在下载过程中不携带任何病毒或...

    WebCast视频下载器iReaper

    7. **持续更新**:为了适应WebCast平台的更新和变化,iReaper会定期进行升级和优化,确保对最新视频内容的支持。 在提供的压缩包文件"iReaperEx"中,很可能包含了iReaper的安装程序或更新版本。用户在下载后,需...

    iReaper-MSDN中文网Webcast专用下载

    【标题】"iReaper-MSDN中文网Webcast专用下载"揭示了这是一份专为MSDN中文网站的Webcast(网络研讨会)设计的下载资源。iReaper是一款工具,可能用于帮助用户方便地捕获、管理和下载来自MSDN中文网的Webcast内容。 ...

    irepeater webcast下载

    7. **技术支持**:由于是微软相关的工具,可能有相应的微软支持资源,如在线帮助文档、社区论坛等,帮助用户解决问题。 8. **安全性**:作为下载工具,irepeater应该具有安全措施,防止下载过程中引入恶意软件或...

    iReaper - MSDN Webcast 下载工具

    iReaper 是由国内的.NET 爱好者开发的桌面小工具,用来帮助您下载中文MSDN Webcast 。 中文MSDN Webcast 从2004 年诞生至今已经开播了1000 多门课程,这些课程都是非常优秀的技术资料,很多爱好者都会选择将他们...

    WCF系列课程 webcast

    7. **安全性**:WCF支持多种安全模式,如传输安全、消息安全等,以确保数据的安全传输。课程会介绍如何设置和管理认证、授权和加密等安全特性。 8. **服务发现**:WCF提供服务发现机制,使得服务能够自动广播其存在...

    WebCast下载工具

    7. **用户界面友好**:提供直观的图形用户界面,使操作简单易懂,尤其适合不熟悉复杂命令行工具的用户。 通过使用WebCast下载工具,IT专业人士可以更有效地获取微软的在线教育资源,提升自己的专业技能,及时了解...

    MSDN WebCast下载工具ireaper

    【MSDN WebCast下载工具ireaper】是一款专为IT专业人士设计的实用工具,它使得从MSDN WebCast平台上获取和下载资源变得极其便捷。MSDN WebCast是一个微软提供的在线学习平台,用户可以通过观看各种技术讲座和研讨会...

    WebCast2005讲座_VideoASP

    7. **事件处理模型**:介绍ASP.NET控件的事件模型,包括如何为控件添加事件处理程序,以及事件触发的顺序。理解事件模型有助于编写响应用户操作的代码。 8. **状态管理**:ASP.NET提供了多种状态管理机制,如...

    Webcast Silverlight视频课程:编写文字

    Webcast Silverlight视频课程:编写文字

    MSDN中文WebCast教程

    7. **Windows Forms和WPF**:创建桌面应用程序,学习UI设计和事件处理。 8. **ASP.NET**:构建Web应用程序,包括页面生命周期、控件和数据绑定等。 9. **ADO.NET**:与数据库进行交互,学习如何使用DataSet、...

    WebCast20050804_Demo.zip

    7. 如何利用.NET Framework 2.0构建高效、健壮的软件应用。 通过解压"Demo.rar"并研究其中的内容,学习者可以了解到2005年.NET开发的最佳实践,对比现代.NET开发的不同,也可以加深对.NET历史和演进的理解。同时,...

    自制播放器(各种格式,特别适用webcast)

    由于webcast讲堂字体太小,而用了几种播放器都不能自由调整大小,所以自制了一个方便的,由于当时没有把按键说明清楚,希望使用者自己去试验一下各个按钮的作用。本人保证无毒,除非微软官方下载的VS08本身有毒。

    WebCast20051227am_Video

    【标题】"WebCast20051227am_Video" 指的可能是一场2005年12月27日上午的网络研讨会(WebCast)的视频记录。这种活动通常是由专家或行业领导者主持,分享有关信息技术(IT)领域的最新趋势、技术或解决方案。 ...

    MSDN WebCast 全部的资源数据库

    绝对值10分的资源,是Access数据库文档,里面包含了1756条数据,基本上够全了,里面分出了Mp4,video,mp3,pdf,代码的下载地址,并且带了等级及讲师

    iReaper-Webcast工具

    【iReaper-Webcast工具】是一款由国内的.NET爱好者精心设计并开发的桌面应用程序,其主要功能是方便用户高效地下载中文版的MSDN Webcast。MSDN Webcast是微软提供的一种在线技术讲座服务,涵盖了广泛的IT技术主题,...

    webcast analysis in excel

    从给定的文件信息中,我们可以提炼出一系列与IT领域,特别是SQL Server 2008高可用性相关的知识要点。以下是对这些知识点的详细解释: ### 高可用性(HA)概述 高可用性(High Availability,简称HA)是指系统能够...

    微软Technet WebCast下载工具

    微软Technet WebCast下载工具是一款专门用于获取和管理微软Technet WebCast资源的软件。Technet WebCast是微软提供的一项在线技术研讨会服务,它通过网络直播或录播的形式,为IT专业人士和开发者提供了丰富的技术...

Global site tag (gtag.js) - Google Analytics