Я делаю приложение Windows Form с именем FMP. У меня есть класс под названием Form1, класс под названием Panels. Затем я использую наследование для создания разных панелей с различными свойствами.Настройка свойств панельных объектов
Причина этого в том, что учитель не хочет, чтобы мы инициализировали все панели в классе Form.
Но я не уверен, как это сделать. Найденные здесь вещи @Stackoverflow, но они тоже не могли мне помочь.
Размер, расположение и цвет для всех панелей одинаковы. (Нажав на кнопку, появится другая панель;)) Но имя, элементы управления на панели и BackgroundImages отличаются. Элементы управления являются наиболее важным аспектом здесь.
Возникает вопрос:
Ширина и высота должна быть равна Widht и высота от формы. Что лучше всего в программировании C#? Чтобы установить ширину и высоту из панелей в Form1 (но я сделал их защищенными) или объявить форму в классе «Панели» и использовать Form1.Width?
код у меня правильно понять:
Form1
public Form1()
{
InitializeComponent();
buttonsProperties();
panelsProperties();
}
private void button1_Click(object sender, EventArgs e)
{
panelsChanged(1);
}
private void button2_Click(object sender, EventArgs e)
{
panelsChanged(2);
}
private void panelsChanged(int panelNr)
{
if (panelNr == 1)
{
panel1.Visible = true;
panel1.Enabled = true;
panel2.Visible = false;
panel2.Enabled = false;
}
else if (panelNr == 2)
{
panel1.Visible = false;
panel1.Enabled = false;
panel2.Visible = true;
panel2.Enabled = true;
}
}
Панели
class Panels
{
Form1 f = new Form1();
//Color Property
protected Color color { get; set; }
//Size
protected Int32 Width { get; set; }
protected Int32 Height{ get; set; }
//Location
protected Point Location { get; set; }
public Panels()
{
initMembers();
}
private void initMembers()
{
this.Width = f.Width;
this.Height = f.Height;
this.Location = new Point(0, 0);
}
}
public class Panel1 : Panels
{
//Nothing yet.
}
Если панели должны заполнять всю область формы, вы можете попробовать «panel.Dock = DockStyle.Fill;'. –
Благодарим вас за DockStyle.Fill. Но программа не рисует панель. Я думаю, что я не могу добавить его в Form1.Controls (this.Controls.Add (панели) // Ошибка) –