Внимание!!! Внимание!!! Внимание!!! Внимание!!! Внимание!!! Внимание!!! Внимание!!!
Никогда не используйте производные формы!!!
Могут возникнуть огромные недоразумения!
В этом примере, мы создаем главную форму, на которой будут две кнопки, каждая кнопка будет открывать дочернюю форму. Дочерние формы, практически идентичны. Создаем дочернюю форму. Что бы не создавать второй раз вторую дочернюю форму, можно создать производную форму, которая будет копировать базовую форму. Что бы изменить в производной форме какое либо свойство элемента управления, нужно в базовой форме изменить модификатор доступа c private на protected идентичного элемента. Внимание!!! Перед созданием производной формы, скомпилируйте проект!!!
Никогда не используйте производные формы!!!
Могут возникнуть огромные недоразумения!
В этом примере, мы создаем главную форму, на которой будут две кнопки, каждая кнопка будет открывать дочернюю форму. Дочерние формы, практически идентичны. Создаем дочернюю форму. Что бы не создавать второй раз вторую дочернюю форму, можно создать производную форму, которая будет копировать базовую форму. Что бы изменить в производной форме какое либо свойство элемента управления, нужно в базовой форме изменить модификатор доступа c private на protected идентичного элемента. Внимание!!! Перед созданием производной формы, скомпилируйте проект!!!
Главная форма.
Модальная форма.
Внимание!!! Перед созданием производной формы, скомпилируйте проект!!!
Производная форма. Кликните правой мышкой на нашем проекте. Add. New Item. Выберите категорию Windows Forms. Выберите шаблон Inherited Form. Введите имя.
Производная форма. Кликните правой мышкой на нашем проекте. Add. New Item. Выберите категорию Windows Forms. Выберите шаблон Inherited Form. Введите имя.
Выбираем базовую форму, которую будем наследовать.
Вот так выглядит эта форма в дизайнере.
Что бы изменить в элементах управления производной формы нужные свойства, необходимо в базовой форме изменить модификатор доступа на protected. Выделите элементы управления в базовой форме и измените модификатор доступа.
Перекомпилируйте проект. Измените значения свойств.
Counter.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace_0015 {-
classCounter { -
ushortshowStart; -
ushortshowEnd; -
decimalprice; -
publicCounter(stringarg0,stringarg1,stringarg2) { -
ushort.TryParse(arg0,outshowStart); -
ushort.TryParse(arg1,outshowEnd); -
decimal.TryParse(arg2,outprice); -
} -
publicushortResultShow() { -
return(ushort)(showEnd - showStart); -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResultShow() * price) , 2); -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace_0015 {-
classCounter { -
ushortshowStart; -
ushortshowEnd; -
decimalprice; -
publicCounter(stringarg0,stringarg1,stringarg2) { -
ushort.TryParse(arg0,outshowStart); -
ushort.TryParse(arg1,outshowEnd); -
decimal.TryParse(arg2,outprice); -
} -
publicushortResultShow() { -
return(ushort)(showEnd - showStart); -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResultShow() * price) , 2); -
} -
} }
Form2Electro.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm2Electro : Form { -
publicForm2Electro() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
Counter C =newCounter(textBox1.Text, textBox2.Text, textBox3.Text); -
textBox4.Text = C.Sum().ToString(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
foreach(Control iinControls) { -
if(i.GetType() ==typeof(TextBox)) { -
i.Text =string.Empty; -
} -
} -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm2Electro : Form { -
publicForm2Electro() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
Counter C =newCounter(textBox1.Text, textBox2.Text, textBox3.Text); -
textBox4.Text = C.Sum().ToString(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
foreach(Control iinControls) { -
if(i.GetType() ==typeof(TextBox)) { -
i.Text =string.Empty; -
} -
} -
} -
} }
Form3Water.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm3Water : _0015.Form2Electro { -
publicForm3Water() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
Counter C =newCounter(textBox1.Text, textBox2.Text, textBox3.Text); -
textBox4.Text = C.Sum().ToString(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
foreach(Control iinControls) { -
if(i.GetType() ==typeof(TextBox)) { -
i.Text =string.Empty; -
} -
} -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm3Water : _0015.Form2Electro { -
publicForm3Water() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
Counter C =newCounter(textBox1.Text, textBox2.Text, textBox3.Text); -
textBox4.Text = C.Sum().ToString(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
foreach(Control iinControls) { -
if(i.GetType() ==typeof(TextBox)) { -
i.Text =string.Empty; -
} -
} -
} -
} }
Form1.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm1 : Form { -
publicForm1() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
newForm2Electro().ShowDialog(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
newForm3Water().ShowDialog(); -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace_0015 {-
publicpartialclassForm1 : Form { -
publicForm1() { -
InitializeComponent(); -
} -
privatevoidbutton1_Click(objectsender, EventArgs e) { -
newForm2Electro().ShowDialog(); -
} -
privatevoidbutton2_Click(objectsender, EventArgs e) { -
newForm3Water().ShowDialog(); -
} -
} }