C#相对较新;希望我只是忽略了一些简单的事情.
我有一个名为’Exercise1’的表单,其中包含一个名为’drawingArea’的图片框和几个按钮. Exercise1的构造函数的代码如下:
public Exercise1() { InitializeComponent(); paper = drawingArea.CreateGraphics(); balloon = new Balloon("redBalloon",Color.Red,drawingArea.Width / 2,drawingArea.Height / 2,30); paper.Clear(Color.White); balloon.Display(paper); } ...
‘paper’和’balloon’在构造函数上方创建为全局变量,用于表单上的其他方法. ‘paper’和’balloon’都在构造函数中在表单上定义的其他方法中初始化.
无论出于何种原因,命令
paper.Clear(Color.White);
和
balloon.Display(paper);
哪个应该清除图片框并显示一个红色椭圆,不执行(至少可见).是什么赋予了?
更新:
我想我会喜欢这个网站…你们很快!
@Nitesh:练习1的构造函数是从另一个表单调用的.代码如下:
private void button1_Click(object sender,EventArgs e) { int exSelector = (int)numericUpDown1.Value; switch (exSelector) { case 1: Exercise1 form1 = new Exercise1(); form1.Show(); break; ...
@Sean Dunford:是的,是的.
@RBarryYoung:玩了一下,但没有运气.什么命令触发Exercise1的Form_Load事件?
更新:此更改的代码按预期工作:
public Exercise1() { InitializeComponent(); paper = drawingArea.CreateGraphics(); drawingArea.BackColor = Color.White; drawingArea.Paint += new PaintEventHandler(this.drawingArea_Paint); balloon = new Balloon("redBalloon",30); } private void drawingArea_Paint(object sender,PaintEventArgs e) { e.Graphics.Clear(Color.White); balloon.Display(e.Graphics); } ...
感谢您的帮助!