2016-12-17 2 views
0

все. Мой план состоит в создании отдельного класса, в котором я бы объявлял все метки и значения текстового поля. Но для этого мне нужно наследовать форму. Проблема в том, что когда я наследую форму, мой класс становится формой и вызывает элементы из себя. Настройка свойств ярлыков и текстовых полей для общего пользования не помогла. Есть идеи?Наследование с формы C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace Assignment2v3 
{ 
class Declarations : Form1 
{ 
    public List<Label> ErrRep 
    { get; set; } 
    public List<TextBox> TextBoxes 
    { get; set; } 
    public List<ComboBox> ComboBoxes 
    { get; set; } 
    public Declarations() 
    { 
     ErrRep = DeclareErrorReports(); 
     TextBoxes = DeclareTextBoxes(); 
     ComboBoxes = DeclareComboBoxes(); 
    } 
    List<Label> DeclareErrorReports() 
    { 
     var ER = new List<Label>(); 
     ER.Add(errorReport1); 
     ER.Add(errorReport2); 
     ER.Add(errorReport3); 
     return ER; 
    }//Would be used if try catch worked 
    List<TextBox> DeclareTextBoxes() 
    { 
     List<TextBox> TextBoxes = new List<TextBox>(); 
     TextBoxes.Add(textBoxPizza1); 
     TextBoxes.Add(textBoxPizza2); 
     TextBoxes.Add(textBoxPizza3); 
     return TextBoxes; 
    }//Puts all textBoxes into a list 
    List<ComboBox> DeclareComboBoxes() 
    { 
     var ComboBoxes = new List<ComboBox>(); 
     ComboBoxes.Add(comboBoxPizza1); 
     ComboBoxes.Add(comboBoxPizza2); 
     ComboBoxes.Add(comboBoxPizza3); 
     return ComboBoxes; 
    }//Puts all comboboxes into a list 
    //^Boring declarations 
} 
} 

Form design

+0

Что вы подразумеваете под этим: Проблема в том, что когда я наследую форму, мой класс становится формой и называет элементы из себя. – CodingYoshi

+0

Посмотрите прямо на скриншоте. Declarations.cs становится формой. У него даже есть опция дизайна, например, нормальная форма окна – alex3wielki

+1

, вот как работает наследование. Если это не то, что вы хотите, затем перепишите свой вопрос и сообщите нам, чего вы хотите достичь, и кто-то может рассказать вам, как это сделать. Весь смысл наследования: мне нужно все, что имеет базовый класс, плюс я собираюсь добавить больше. – CodingYoshi

ответ

2

Вы, вероятно, следует наследовать от UserControl вместо. С помощью собственного UserControl вы можете добавить его в одну или несколько форм в одном или нескольких местах.

Существует множество учебных пособий, которые помогут вам создать собственный WinForms UserControl.

+0

Посмотрите на это. благодаря – alex3wielki

Смежные вопросы