C#学习文档

我原先是学习VB的,总觉得没有继承性实在不方便,后来学习C#后,觉得很方便(C++和Delphi的人不许笑我)。
    在设计程序时,经常使用向导来建立界面帮助用户完成某个操作,通常向导的界面基本相同的,基本两种类型:欢迎画面和普通画面。

   

系统分析:普通向导页面分为顶部信息和底部信息,顶部包括:标题(Title)、本页描述(Info)和标题图像(TitleImage)。底部信息包括:取消(Cancel)、上一步(Back)、下一步(Next)和完成(Finsh),有些向导还包括其他按钮,例如:帮助(Help)等,但在这个例子中,为简单起见,不考虑这么多情况。
    在欢迎画面中,主要差别是顶部,欢迎画面没有标题部分,但在左边有个大图片。

    实现:我使用了窗口作为基类,首先在界面中绘制基本的控件,见下图:

    首先我确定是用三个属性控制顶部状态,Title,Info和Image,也许大家发现我这里没有在标题上直接放控件,因为我觉得没有必要,我在内部定义了三个变量:
        private string strTitle="";
        private string strInfo="";
        private Image  imgTitle=null;
    通过对外的三个属性改变标题的信息:
        [Description("返回/设置顶部标题的文本")]
        public string Title{
            get{
                return strTitle;}
            set{
                strTitle=value;
                panTitle.Invalidate();}
        }

        [Description("返回/设置顶部标题的说明文本")]
        public string Info{
            get{
                return strInfo;}
            set{
                strInfo=value;
                panTitle.Invalidate();}
        }
 
        [Description("返回/设置右上角图像或欢迎画面的图像")]
        public Image TitleImage{
            get{
                return imgTitle;}
            set{
                imgTitle=value;
                panTitle.Invalidate();}
        }

   在标题面板(panTitle)的重绘事件中,重新绘制了标题信息:

        //绘制标题中的信息

        private void panTitle_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {

            Graphics grp=e.Graphics;

           

            grp.Clear(panTitle.BackColor);

            if(mGuidPageMode == tayGuidePageEnum.tayGuidePage_None){

                ControlPaint.DrawBorder3D(grp,panTitle.ClientRectangle,Border3DStyle.Etched,Border3DSide.Bottom);             //在标题框的底部绘制凹陷线条

         

                Font fnt       = new Font(this.Font,this.Font.Style    | FontStyle.Bold);                                           //绘制粗体的标题文本

               

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tansm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值