《最新实验4设计模式PPT课件》由会员分享,可在线阅读,更多相关《最新实验4设计模式PPT课件(19页珍藏版)》请在金锄头文库上搜索。
1、实验实验4设计模式设计模式要求n本周日最后一次实验时(12月23号晚18:0022:00),前三次未交作业的同学将作业补交。n本次实验为选做实验,设计模式的内容请大家自学。多年生植物型花园using System;namespace Gardener/ / Summary description for PerennialGarden./ public class PerennialGarden : Gardenpublic PerennialGarden() shade = new Plant(Astilbe);border = new Plant (Dicentrum);center =
2、new Plant (Sedum);用户界面Form用户界面单选按钮private void opAnnual_CheckedChanged(object sender, EventArgs e) setGarden( new AnnualGarden ();/-private void opVegetable_CheckedChanged(object sender, EventArgs e) setGarden( new VeggieGarden ();/-private void opPerennial_CheckedChanged(object sender, EventArgs e)
3、 setGarden( new PerennialGarden ();/-private void setGarden(Garden gd) garden = gd;/save current gardengdPic1.setGarden ( gd);/tell picture bosgdPic1.Refresh ();/repaint itckCenter.Checked =false;/clear allckBorder.Checked = false;/checkckShade.Checked = false;/boxes用户界面复选框private void ckCenter_Chec
4、kedChanged(object sender, System.EventArgs e) garden.setCenter ();gdPic1.Refresh ();/-private void ckBorder_CheckedChanged(object sender, System.EventArgs e) garden.setBorder();gdPic1.Refresh ();/-private void ckShade_CheckedChanged(object sender, System.EventArgs e) garden.setShade ();gdPic1.Refres
5、h ();图片框(PictureBox)using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System.Data;using System.Windows.Forms;namespace Gardener/ / Summary description for GdPic./ public class GdPic : System.Windows.Forms.PictureBox / / Required designer variable./ private
6、System.ComponentModel.Container components = null;private Brush br;private Garden gden;private void init () br = new SolidBrush (Color.LightGray );public GdPic() / This call is required by the Windows.Forms Form Designer.InitializeComponent();init();public void setGarden(Garden garden) gden = garden
7、;protected override void OnPaint ( PaintEventArgs pe )Graphics g = pe.Graphics;g.FillEllipse (br, 5, 5, 100, 100);if(gden != null)gden.draw (g);图片框(PictureBox)(续)/ / Clean up any resources being used./ protected override void Dispose( bool disposing )if( disposing )if(components != null)components.D
8、ispose();base.Dispose( disposing );#region Component Designer generated code/ / Required method for Designer support - do not modify / the contents of this method with the code editor./ private void InitializeComponent()/ / GdPic/ #endregion类图GdPicGardensetCenter()setBorder()setShade()draw(g)PlantnamebrfontAnnualGardenAnnualGarden ()PerennialGardenPerennialGarden ()VeggieGardenVeggieGarden ()gdencenterbordershade运行结果运行结果运行结果