【发布时间】:2017-04-17 16:50:13
【问题描述】:
我是 Windows 窗体的新手。我正在尝试实例化公共类的对象并在按下 button1 时调用方法 drawBoard()。方法drawBoard(),我想通过它设置pictureBox2的属性。但是代码不起作用。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public class gameBoard :Form1
{
public void drawBoard()
{
pictureBox2.ImageLocation = @"E:\My Data\DoCx\CS\3rd Sem\OOP\proj\images\a.png";
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
}
}
private void button1_Click(object sender, EventArgs e)
{
gameBoard a = new gameBoard();
a.drawBoard();
}
}
还尝试通过其他两种方式实现这一点:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
pictureBox2.ImageLocation = @"E:\My Data\DoCx\CS\3rd Sem\OOP\proj\images\a.png";
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox2.BackColor = Color.Transparent;
}
}
和
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox2.ImageLocation = @"E:\My Data\DoCx\CS\3rd Sem\OOP\proj\images\a.png";
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
}
}
两者都有效。代码运行时直接加载图片。并且当 button1 以第二种方式按下时。我想知道在用户定义类的方法中定义图片框属性时如何调用它们。
【问题讨论】:
-
您的内部类 gameBoard 对名为 pictureBox2 的变量一无所知。它看不到这是在容器类中定义的东西。调用时将pictureBox2传递给drawBoard方法