ehsan_d18
ehsan_d18

Reputation: 281

Inheritance of button

I designed a button

How do I inherit the rest of this button?

button


Does this method of inheritance is true?

mycode :

    public class MyButton : Button
{

    public MyButton()
        : base()
    {
        // set whatever styling properties needed here
        this.ForeColor = Color.Blue;
        this.Click += new EventHandler(MyButton_Click);
        this.BackColor = Color.Red;
    }

    void MyButton_Click(object sender, EventArgs e)
    {
        MessageBox.Show("yes");
    }
}

Why not change the background color?

background color


All properties are subject to change

Except the background color

Is this a normal thing

No solution?

Upvotes: 4

Views: 8355

Answers (3)

ehsan_d18
ehsan_d18

Reputation: 281

You can use this code:

this.BackColor = Color.Red;

Upvotes: -3

Adam Lear
Adam Lear

Reputation: 38758

You can create a new class, subclass the standard Button, and make your style adjustments in the constructor. Once that's done, rebuild your project, and your new component should appear in the Toolbox in the top section. Use it instead of the standard Button and you should be good to go.

public class MyButton : Button
{
    public MyButton() : base()
    {
        // set whatever styling properties needed here
        ForeColor = Color.Red;
    }
}

Upvotes: 10

Cheng Chen
Cheng Chen

Reputation: 43513

I'm assumimg what you want is: defining 10 buttons, and styling(set several properties of) button1, you want the rest 9 buttons the same as button1. This is not inheritance in C#. To meet your requirement, you can get those 10 buttons into one list/collection/array/etc...one way to get the buttons probably looks like:

var buttons = container.Controls.OfType<Button>();

And then loop the list to set properties:

foreach(var button in buttons)
{
   //set the common properties.
}

Upvotes: 5

Related Questions