按下按钮创建对象实例

Create instances of objects at the push of a button

当按下右侧面板上的按钮时,我希望在蓝色面板中生成一个图像实例。我熟悉 OOP 但不熟悉 windows 表单,因此不确定如何创建对象并以这种方式实例化它。我将如何创建一个父级 class 来保存这样的对象,只要在 windows 形式的 c# 中按下按钮就会生成这样的对象?

在构造函数中

    this.button1.Click += new System.EventHandler(this.button1_Click);

在点击事件中

    private void button1_Click(object sender, EventArgs e)
    {
        Control lastPanelContol = null;
        if (panel1.Controls.Count > 0)
            lastPanelContol = panel1.Controls[panel1.Controls.Count - 1];

        var newButton = new Button
        {
            Name = "btnDynamic" + panel1.Controls.Count,
            Text = "btnDynamic" + panel1.Controls.Count,
            Left = 20,
            Width = 100,
            Top = lastPanelContol == null ? 20 : lastPanelContol.Top + lastPanelContol.Height + 20
        };

        panel1.Controls.Add(newButton);
    }

您可以使用此代码:

class Gates
{
    public Button BtnNOT()
    {
        Button btnNOT = new Button();
        btnNOT.Width = 100;
        btnNOT.Height = 50;
        btnNOT.Text = "some text...";
        btnNOT.Image = some Image...;
        // And what you want

        return btnNOT;
    }

    public Button BtnAND() { ... }
    public Button BtnOR() { ... }
    // And other gates...
}

然后当你点击右侧面板中的按钮时,这段代码运行:

Gates gates = new Gates();
bluePanel.Controls.Add(gates.BtnNOT());

希望对你有帮助

如果您只想显示系统中的图像,请在单击按钮时显示在蓝色面板中。

此示例创建一个图像名称字符串数组,并允许您定位图像名称,以便在您单击按钮时在蓝色面板中显示图像。

假设您的蓝色面板名称是 'panel1',包含按钮的面板是 'panel2',您的按钮名称是 'button1'。

当您点击按钮时,它会显示您在 pics[] 数组中设置的图像。

    private void button1_Click(object sender, EventArgs e)
    {
        ShowMyImage();
    }

    private void ShowMyImage()
    {
        string[] pics = new string[2];

        pics[0] = "E:\images\image0.jpg";
        pics[1] = "E:\images\image1.jpg";

        var picbox = new PictureBox();
        picbox.Image = Bitmap.FromFile(@pics[0]);
        picbox.Dock = DockStyle.Fill;
        panel1.Controls.Add(picbox);

    }