通过变量名称声明一个新对象

时间:2013-10-09 17:48:33

标签: c# class variables void protected

我对C#(以及一般的编程)相当新,所以如果我犯了任何大错误或者谈完全公牛,请坚持下去。 所以我要做的是有一个私有空间,可以调整按钮背景图像的大小。我通过字符串将按钮的名称发送到私有void。无论如何,代码看起来像这样:

ButtonResize("Zwaard");


protected void ButtonResize(string Button)
    {
        string ButNaam = "btn" + Button;
        Button Butnaam = new Button();
        Butnaam.Text = ButNaam;

        if (Butnaam.BackgroundImage == null)
        {
            return;
        }
        else
        {
            var bm = new Bitmap(Butnaam.BackgroundImage, new Size(Butnaam.Width, Butnaam.Height));
            Butnaam.BackgroundImage = bm;
        }
     }

但它并不像那样。我似乎无法找到一种方法来声明一个名为字符串中的值的新对象。我希望我的代码要做的不是制作一个名为“Butnaam”的按钮,我希望它创建一个名为btnZwaard的按钮(字符串Butnaam的值)。

我如何告诉C#我希望变量的值是新按钮的名称,而不是字面上我键入的内容?

提前致谢。

2 个答案:

答案 0 :(得分:2)

你正在寻找这样的东西吗?通过将Button传递给方法,您可以对该对象进行操作。如果这是您正在寻找的,那么您应该阅读Passing Reference-Type Parameters

protected void ButtonResize(Button button)
    {
        if (button != null && button.BackgroundImage != null)
        {
            button.BackgroundImage = new Bitmap(button.BackgroundImage, new Size(newWidth, newHeight));
        }
     }

答案 1 :(得分:1)

字符串是一段文字。您随后将其称为class,这是错误的。假设它是正确的你创建一个新按钮而不是“调整其图像大小”。

为了让您入门,您想要做的是在与具有按钮的对话框相同的类中创建一个新函数。该功能可以调整控件的图像大小。

编辑:这似乎不是学习语言的好起点,顺便说一下。请在C#中找到一个很好的在线教程(例如,一个hello world应用程序)。